目錄

簡介

必要條件

需求

採用元件

背景資訊

通訊協定

ISDN Q.931(T1/E1/BRI)

H.323

SIP

MGCP

SCCP

模擬(FXS/FXO/E&M/E1 R2)

語音連線埠

E1 R2

思科特定回鈴詳細資訊

內部傳輸（SIP中繼和CUC）

電話中心行動代理

電話中心企業版(UCCE)和VXML

疑難排解

回鈴延遲

debug voip ccapi inout Analysis

訊號正常，但是沒有回鈴嗎？

簡介

本文檔旨在對音訊回鈴音進行深入解釋，通常稱為呼叫進程音或CP音（簡稱呼叫進程音）。

本文檔將嘗試討論並分析IP語音(VoIP)和模擬信令協定中的回鈴工作方式。

必要條件

需求

雖然閱讀這份檔案並不需要任何正式先決條件；編寫該指南的期望是，讀者已經對用於建立和連線電話呼叫的基礎語音信令協定有一些工作知識。本文檔中多次引用這些協定。

信令協定：會話初始協定(SIP)、H323(h225/h245)、媒體網關控制協定(MGCP)、瘦客戶端控制協定(SCCP)、ISDN Q931、E1 R2。

媒體協定：即時協定(RTP)、語音編解碼器、影片編解碼器。

模擬技術：Ear and Mouth(E&M)、Foreign Exchange Subscriber(FXS)、Foreign Exchange Office(FXO)和E1 R2。

採用元件

本檔案中的資訊是根據以下軟體和硬體：

Cisco IOS和IOS-XE網關(2800 / 3800 / 2900 / 3900 / 4300 / 4400 / CSR1000v / ASR100X)運行任何IOS/IOS-XE版本。

Cisco Unified Communications Manger(CUCM)9.X及更高版本

Cisco Unity Connection(CUC)9.x及更高版本

客戶語音門戶(CVP)版本9.x及更高版本

本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除（預設）的組態來啟動。如果您的網路運作中，請確保您瞭解任何指令或設定可能造成的影響。

背景資訊

Rinback不是一個VoIP或模擬協定，但它存在於所有電話、座機、案頭電話和軟客戶端組成的電話中。因此，瞭解它的工作方式、來源以及如何排除回鈴問題是Collaboration Engineers工具的重要部分。

回鈴是播放給電話呼叫者的一系列音調，讓呼叫者知道被叫方確實正在振鈴。沒有鈴聲被視為一個壞訊號，因為呼叫方會假設被叫方實際上沒有振鈴。回鈴/CP色調因國家/地區而異。如果某人撥打美國號碼，則播放的回鈴音與同一人撥打英國號碼的回鈴音不同。

在大多數情況下，回鈴由遠端被叫方播放給主叫方。要使這種情況發生，音訊必須在向後方向切入（被叫到呼叫）。

通訊協定

本文檔將研究不同的協定、它們如何協商回鈴以及使用該協定時如何操作回鈴。

ISDN Q.931(T1/E1/BRI)

ISDN Q.931使用可在Q.931訊號中檢視的進度指標(PI)概念。可通過運行debug isdn q931在思科語音網關上檢視此資訊。可在警報、進度、呼叫繼續、設定確認和斷開連線消息中傳送進度指示器。進度指示器值1或8將擷取回鈴和錯誤消息的反向音訊。進度指示器值0、2和3不會穿過後退介質。如果遠端被叫方無法向ISDN線路回鈴，則分配給ISDN通道的DSP可以向ISDN線路回鈴。

具有ISDN回鈴的已知警告

- SIP到ISDN的呼叫需要Early Offer，以便當網關收到具有有效IP的ISDN以開啟反向介質時，它具有CUCM/IP電話的IP以向傳送介質。

Q931進度指標

價值

定義

Q.931消息

進度指示器= 0

帶外

設定

進度指示器= 1

呼叫不是終端ISDN。進一步的呼叫進度資訊可能在帶內可用

警報、連線、進度、設定

進度指示器= 2

目的地址為非ISDN。

警報、連線、進度

進度指示器= 3

目的地址為非ISDN。

設定

進度指示器= 8

帶內資訊或適當的模式現在可用。

警報，連線，進度，斷開連線

ISDN Q.931帶內進度指示器示例

Jun 22 15:16:36.790: ISDN Se0/2/0:23 Q931: TX -> ALERTING pd = 8  callref = 0x80A3

Progress Ind i = 0x8188 - In-band info or appropriate now available

Nov 28 21:25:41.754: ISDN Se0/1/1:15 Q931: TX -> PROGRESS pd = 8  callref = 0x805C

Progress Ind i = 0x8188 - In-band info or appropriate now available

組態

預設情況下，ISDN回鈴工作可靠，因此不需要額外的配置。但是，如果存在互操作性要求，則存在用於更改行為的命令。

手動更改progress_ind值。

重要附註：

- 預設情況下禁用

- 這只能應用於出站撥號對等體

- 這可應用於VOIP和POTS撥號對等體。

完整命令語法：http://www.cisco.com/c/en/us/td/docs/ios-xml/ios/voice/vcr3/vcr3-cr-book/vcr-p2.html#wp1001337490

!

progress_ind { alert | callproc } { enable pi-number | disable | strip [strip-pi-number] }

progress_ind { connect | disconnect | progress | setup } { enable pi-number | disable }

!

dial-peer voice 1 pots

destination-pattern 8675309$

progress_ind alert enable 8

progress_ind callproc enable 8

progress_ind connect enable 8

progress_ind disconnect enable 8

progress_ind progress enable 8

progress_ind progress setup 1

!

dial-peer voice 2 pots

destination-pattern 8675309$

progress_ind alert strip 8

progress_ind callproc strip 8

!

dial-peer voice 3 pots

destination-pattern 8675309$

progress_ind alert disable

progress_ind callproc disable

progress_ind connect disable

progress_ind disconnect disable

progress_ind progress disable

progress_ind progress disable

!

要求語音網關始終傳送警報消息

如果管理員需要語音網關，請始終在連線之前傳送警報消息，在串列介面下配置命令isdn send-alerting。預設情況下禁用

完整命令語法： http://www.cisco.com/c/en/us/td/docs/ios/dial/command/reference/dia-cr-book/dia_i2.html

!

interface Serial0/0/0:23

isdn send-alerting

!

調試

debug isdn q931

debug voip ccapi inout

H.323

H.323，更具體地說，H.225 VOIP信令協定是在ISDN的Q.931協定的基礎上構建的。因此，它們有許多共同要素。Q.931回鈴後出現的許多命令和想法都存在於H.323/H.225中。這包括進度指示器值、消息型別和命令。

Rinback的H.225消息示例

*Jun 22 11:32:52.080: H225.0 INCOMING PDU ::=

value H323_UserInformation ::=

{

h323-uu-pdu

{

h323-message-body alerting :

組態

H.323和H.225不需要配置環回功能。但是，在ISDN Q.931部分中指定的命令也適用於H.323回鈴。此外，還有可用於H.323信令的命令。

指令

定義

voice call send-alert

- 已在全域性配置中配置。

- 預設情況下禁用此命令。

- 此命令使終端網關能夠在收到呼叫設定後傳送警報消息而不是進度消息。

- 當CCAPI調試中出現「Voice Call Send Alert=FALSE」時，可使用此命令將值設為TRUE。

- 此外，這還可以用於ISDN到SIP的ISDN，其中183 w/SDP已接收，但遠端裝置實際上未播放回鈴。

- 它使用相同的PI資訊將TX進度更改為TX警報。然後PSTN播放回放。

voice rtp send-recv

在兩個方向上開啟RTP音訊通道。

!

dial-peer voice 1 voip

tone ringback alert-no-pi

!

dial-peer voice 2 pots

tone ringback alert-no-pi

!

- 如果在沒有PI的IP呼叫支路上收到警報，此命令會導致網關向主叫方生成回鈴。

- 與progress_ind setup命令的不同之處在於，出站H.225設定消息使用tone ringback命令時不包含值為3的PI。

- 在包括PI時，某些裝置可能不接受設定消息。

CUCM配置

在CUCM內存在一些特定的H.323環回配置>

導航路徑：CUCM > System > Service Parameters > Pub > CallManager > Send H225 User Info Message > Use ANN For Ringback

價值

定義

使用ANN進行振鈴

使用Cisco SCCP Annunciator播放回鈴音（Cisco CallManager 4.0版及更高版本中提供）

呼叫進度提示音的使用者資訊

向IOS網關傳送H.225使用者資訊消息以播放回鈴音或保留音（這是預設設定）。

呼叫進度音的H225資訊

向IOS網關傳送H.225資訊消息以播放回鈴音或保留音

調試

debug voip ccapi inout

debug h225 asn1

本文也是有關故障排除H.323回鈴的絕佳文檔

http://www.cisco.com/c/en/us/support/docs/voice/h323/22983-ringback.html

SIP

SIP回鈴通常涉及兩個消息之一。180和183。 RFC 3261規定，這些1XX消息中的0、1個或多個消息可能在INVITE後接收，因此不接收這些消息之一并不違背RFC。如果沒有收到回鈴訊號，則不會收到回鈴訊號。因此，如果呼叫方希望以某種形式回鈴，則需要180或183。

180和183均可包含CUBE將當作早期介質的會話描述協定(SDP)。當SDP存在於18X消息CUBE中時，CUCM將期望傳送帶有SDP的18X的遠端裝置從SDP中指定的IP播放回鈴。在CUCM或CUBE中沒有更改此行為的配置。某些裝置在傳送回鈴之前，需要18X消息上的PRACK(rel1xx)交換。

RFC3960深入瞭解有關SIP回鈴信令的詳細資訊。

必須注意的是，對於SIP到ISDN和SIP到H.323，呼叫帶SDP的18X對映到帶內進度指示器，而沒有SDP的18X對映到警報。

使用SDP的示例183

SIP/2.0 183 Session Progress

Via: SIP/2.0/TCP 10.10.10.10:5060;branch=z9hG4bK6350828126b1a

From: <sip:8675309@10.10.10.10>;tag=85512413~796a13c3-49d2-74ec-19db-f4258d9eef64-40934478

To: <sip:123456789@10.10.10.1>;tag=BA0FA04C-97B

Date: Wed, 22 Jun 2016 11:32:51 GMT

Call-ID: 575b0c00-76a177e1-57ea4-2009000a

CSeq: 101 INVITE

Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, SUBSCRIBE, NOTIFY, INFO, REGISTER

Allow-Events: telephone-event

Remote-Party-ID: <sip:8675309@10.10.10.10>;party=called;screen=no;privacy=off

Contact: <sip:8675309@10.10.10.10:5060;transport=tcp>

Supported: sdp-anat

Server: Cisco-SIPGateway/IOS-15.4.3.M2

Content-Type: application/sdp

Content-Disposition: session;handling=required

Content-Length: 250

v=0

o=CiscoSystemsSIP-GW-UserAgent 9474 3602 IN IP4 172.16.37.129

s=SIP Call

c=IN IP4 10.10.10.10

t=0 0

m=audio 17606 RTP/AVP 8 101

c=IN IP4 10.10.10.10

a=rtpmap:8 PCMA/8000

a=rtpmap:101 telephone-event/8000

a=fmtp:101 0-16

a=ptime:20

不帶SDP的示例180

SIP/2.0 180 Ringing

Via: SIP/2.0/TCP 10.10.10.10:5060;branch=z9hG4bKd34f2a2080

From: <sip:2002@10.10.10.10>;tag=17170~21823a7a-6ec3-4a2f-9307-df98bca4b011-23314477

To: <sip:3001@10.10.10.1> ;tag=1ADFB1AC-3CB

Date: Tue, 26 Jan 2016 22:05:06 GMT

Call-ID: d859d700-6a71ed8f-26-a21030e

CSeq: 102 INVITE

Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, SUBSCRIBE, NOTIFY, INFO, REGISTER

Allow-Events: telephone-event

Remote-Party-ID: < sip:3001@10.10.10.10> ;party=called;screen=yes;privacy=off

Contact: < sip:3001@10.10.10.10:5060;transport=tcp>

Server: Cisco-SIPGateway/IOS-12.x

Content-Length: 0

組態

指令

定義

!

sip-ua

disable-early-media 180

!

用於指定為180個響應提供哪些呼叫處理（早期媒體或本地回鈴），並使用Session Description Protocol(SDP)提供180個響應

!

語音服務voip

sip

塊{180 | 181 | 183} sdp {存在 |缺席}

!

阻止與回鈴相關的特定消息

將183會話更改為180振鈴的SIP配置檔案。

!

voice service voip

sip

sip-profiles inbound

!

voice class sip-profiles 777

response 183 sip-header SIP-StatusLine modify "SIP/2.0 183 Session Progress" "SIP/2.0 180 Ringing"

!

dial-peer voice 777 voip

voice-class sip profile 777 inbound

!

在CUCM中啟用PRACK(rel1xx)。

- PRACK在CUCM SIP配置檔案上預設禁用

System Menu Path: Device > Device Settings > Sip Profile > Choose a SIP profile > SIP Rel1XX

選項

- 已禁用（預設）

- 如果1xx包含SDP，則傳送PRACK

- 傳送所有1xx條消息的PRACK

在網關上啟用PRACK(rel1xx)

- 預設情況下，在語音網關上啟用rel1xx。如果CUBE收到要求：100rel報頭將插入

調試

debug voip ccapi inout

debug ccsip messages

MGCP

MGCP是控制FXS和ISDN T1/E1埠的VOIP端。您可以檢查CUCM是否正在向特定埠傳送正確的回鈴信令，但是沒有太多可以完成的配置。

從CUCM到VG224 FXS埠的MGCP回鈴消息示例

Apr 29 01:01:38.264: MGCP Packet received from 14.50.244.2:2427--->

RQNT 37 AALN/S2/1@vg224 MGCP 0.1

X: 1b

R: L/hu

S: G/rt

Q: process,loop

<---

S:=信令事件和g/rt =通用資料包/回鈴音

CUCM配置

系統選單路徑：System > Service Parameters > Pub > CallManager > Disable Alerting Progress Indicator

- 此引數確定是否向數字PRI網關報告帶內資訊的警報進度指示器。

- 有效值指定True（禁用警報進度指示器）或False（傳送警報進度指示器）。

- 要在某些配置中接收迴環，您可能必須將此欄位設定為False以強制介質切入。

網關配置

- 無

調試

debug mgcp packet

debug voip ccapi nout

debug vpm signal

debug voip vtsp session

SCCP

對於註冊到CUCM或CME的SCCP IP電話，會向IP電話傳送「StartToneMessage」，告知本地電話向呼叫者播放回鈴音。

模擬(FXS/FXO/E&M/E1 R2)

所有模擬語音埠的回鈴調試：

debug voip ccapi inout

debug vpm signal

debug voip vtsp session

語音連線埠

- 本地DSP負責為語音埠提供回鈴功能。

- 可在選擇的語音埠下配置自定義CPtone。

GATEWAY(config)#voice-port 0/2/0

GATEWAY(config-voiceport)#cptone ?

locale   2 letter ISO-3166 country code

AR Argentina            IN India                PA Panama

AU Australia            ID Indonesia            PE Peru

AT Austria              IE Ireland              PH Philippines

BE Belgium              IL Israel               PL Poland

BR Brazil               IT Italy                PT Portugal

CA Canada               JP Japan                RU Russian Federation

CL Chile                JO Jordan               SA Saudi Arabia

CN China                KE Kenya                SG Singapore

CO Colombia             KR Korea Republic       SK Slovakia

C1 Custom1              KW Kuwait               SI Slovenia

C2 Custom2              LB Lebanon              ZA South Africa

CY Cyprus               LU Luxembourg           ES Spain

CZ Czech Republic       MY Malaysia             SE Sweden

DK Denmark              MT Malta                CH Switzerland

EG Egypt                MX Mexico               TW Taiwan

FI Finland              NP Nepal                TH Thailand

FR France               NL Netherlands          TR Turkey

DE Germany              NZ New Zealand          AE United Arab Emirates

GH Ghana                NG Nigeria              GB United Kingdom

GR Greece               NO Norway               US United States

HK Hong Kong            OM Oman                 VE Venezuela

HU Hungary              PK Pakistan             ZW Zimbabwe

IS Iceland

E1 R2

debug ccapi inout、debug vpm signal和debug voip vtsp session for E1 R2呼叫的輸出，顯示回鈴。

042446: May 12 14:51:15.816 GMT: //2475488/47922BA59254/CCAPI/cc_api_call_alert:

Interface=0x3ECE2770, Progress Indication=NULL(0), Signal Indication=SIGNAL RINGBACK(1)

042447: May 12 14:51:15.816 GMT: //2475488/47922BA59254/CCAPI/cc_api_call_alert:

Call Entry(Retry Count=0, Responsed=TRUE)

042448: May 12 14:51:15.816 GMT: //2475487/47922BA59254/CCAPI/ccCallAlert:

Progress Indication=NULL(0), Signal Indication=SIGNAL RINGBACK(1)

042449: May 12 14:51:15.816 GMT: //2475487/47922BA59254/CCAPI/ccCallAlert:

Call Entry(Responsed=TRUE, Alert Sent=TRUE)htsp_alert_notify

042450: May 12 14:51:15.816 GMT: r2_reg_event_proc(0/0/1:1(1)) ALERTING RECEIVED

042451: May 12 14:51:15.816 GMT: R2 Incoming Voice(0/1): DSX (E1 0/0/1:0): STATE: R2_IN_WAIT_REMOTE_ALERT R2 Got Event R2_ALERTING

042452: May 12 14:51:15.816 GMT: rx R2_ALERTING in r2_comp_wait_remote_alert

042453: May 12 14:51:15.816 GMT: r2_reg_generate_digits(0/0/1:1(1)): Tx digit '1'

042454: May 12 14:51:16.672 GMT: //2475487/47922BA59254/VTSP:(0/0/1:1):0:1:1/vtsp_report_cas_digit:

End Digit=2, Mode=CC_TONE_R2_MF_BACKWARD_MODE

042455: May 12 14:51:16.672 GMT: htsp_digit_ready(0/0/1:1(1)): Rx digit='#'

思科特定回鈴詳細資訊

內部傳輸（SIP中繼和CUC）

- 在通過SIP中繼或CUC CUCM訊號器的內部傳輸期間，提供回鈴功能。

- 確保將MRGL和訊號器分配給中繼並啟動IPVMS服務。

電話中心行動代理

- 為了讓座席聽到座席發起呼叫的呼叫進度音，如果未啟用「需要MTP」，則需要進行其他配置。如果通過強制不匹配的DTMF設定進行動態MTP分配，則應將Unified CM配置為啟用早期提供。

- 回鈴和其他呼叫進程音不是由思科訊號器生成的，常規電話和軟電話也是如此。相反，移動代理依賴於被叫方生成的這些音調（早期優惠設定會觸發這些音調傳送到代理）。

說明文件:

http://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cust_contact/contact_center/icm_enterprise/icm_enterprise_9_0_1/user/guide/UCCE_BK_UFAEED16_00_ucce-mobile-agent-guide/UCCE_BK_UFAEED16_00_ucce-mobile-agent-guide_chapter_010.html#UCCE_RF_E40E25C8_00

電話中心企業版(UCCE)和VXML

CVP將通過傳送具有特定號碼的INVITE來向VXML網關發出訊號以播放回鈴。

範例：9191

此INVITE的SDP將是我們希望VXML網關傳送回鈴的位置。

這將與配置了回鈴服務的撥號對等體匹配。

疑難排解

回鈴延遲

環回直通延遲通常是由基礎信令延遲引起的。需要查詢正在使用的特定裝置和協定的調試和日誌，找出訊號延遲的原因。

由於語音網關在撥號對等體上的信令故障以及撥號對等體重新搜尋會導致相當大的延遲，因為裝置會嘗試為呼叫找到下一跳。

debug voip ccapi inout Analysis

正如您在整個文檔中所看到的，收集ccapi debug對於任何RINGBACK問題都非常重要。

呼叫控制Api(CCAPI)負責橋接語音網關上的呼叫的兩端，因此也共同將回鈴從一個呼叫段縫合到另一個呼叫段。

CCAPI回鈴的調試輸出示例

Feb  2 21:27:18.884: //22/9285F23E801B/CCAPI/cc_api_call_alert:

Interface=0x3AB79E8, Progress Indication=NULL(0), Signal Indication=SIGNAL RINGBACK(1)

Jun 23 13:32:34 EDT: //1204/77232A800001/CCAPI/cc_api_call_cut_progress:

Interface=0x7FD5FD1CEE10, Progress Indication=INBAND(8), Signal Indication=INTERCEPT(2),

Cause Value=0

Jun 23 13:32:34 EDT: //1203/77232A800001/CCAPI/ccCallCutProgress:

Progress Indication=INBAND(8), Signal Indication=INTERCEPT(2), Cause Value=0

Voice Call Send Alert=FALSE, Call Entry(Alert Sent=FALSE)

Jun 22 11:32:52.096: //204706/575B0C000000/CCAPI/ccCallAlert:

Progress Indication=INBAND(8), Signal Indication=SIGNAL RINGBACK(1)

Nov 28 21:25:41.748: //43495/0C82F2F380B7/CCAPI/cc_api_call_cut_progress:

Interface=0x7F8028B60F90, Progress Indication=INBAND(8), Signal Indication=SIGNAL RINGBACK(1),

Cause Value=0

Nov 28 21:25:41.749: //43494/0C82F2F380B7/CCAPI/ccCallCutProgress:

Progress Indication=INBAND(8), Signal Indication=SIGNAL RINGBACK(1), Cause Value=0

Voice Call Send Alert=FALSE, Call Entry(Alert Sent=FALSE)

Nov 28 21:25:41.749: //43494/0C82F2F380B7/CCAPI/ccGenerateToneInfo:

Stop Tone On Digit=FALSE, Tone=Null,

Tone Direction=Network, Params=0x0, Call Id=43494

訊號正常，但是沒有回鈴嗎？

根據您的訊號，一切可能看起來正常。但是，可能仍然沒有回鈴。如果訊號指示特定方將回鈴傳送到您的裝置，則從語音埠獲取資料包捕獲或PCM捕獲值以驗證回鈴是否實際播放。

從來源和目的地檢查第3層路由也很重要。如果他們無法將RTP資料包傳送到您的裝置，您將無法聽到音訊。此外，如果無法將資料包傳送到特定裝置，則這些裝置不會收到回鈴聲。

有用的第3層路由命令

show ip route

show ip cef <remote_ip>

ping a.b.c.d source <interface>

traceroute a.b.c.d

PCM捕獲文檔：

http://www.cisco.com/c/en/us/support/docs/voice/h323/116078-technologies-technote-commandrefe.html