本產品的文件集力求使用無偏見用語。針對本文件集的目的,無偏見係定義為未根據年齡、身心障礙、性別、種族身分、民族身分、性別傾向、社會經濟地位及交織性表示歧視的用語。由於本產品軟體使用者介面中硬式編碼的語言、根據 RFP 文件使用的語言,或引用第三方產品的語言,因此本文件中可能會出現例外狀況。深入瞭解思科如何使用包容性用語。
思科已使用電腦和人工技術翻譯本文件,讓全世界的使用者能夠以自己的語言理解支援內容。請注意,即使是最佳機器翻譯,也不如專業譯者翻譯的內容準確。Cisco Systems, Inc. 對這些翻譯的準確度概不負責,並建議一律查看原始英文文件(提供連結)。
本檔案介紹透過IP傳輸的傳真(FoIP)如何在Cisco整合邊界元件(CUBE)通話流中與IP服務提供者互動。
思科建議您瞭解以下主題:
本檔案中的資訊是根據以下軟體和硬體版本:Cisco IOS®版本12.4T、15.0M、15.0T、15.1M、15.1T、15.2M、15.2T、15.3T(在思科整合式服務路由器(ISR)系列2800、3800、2900、3900e或Cisco AS上) 5400XM通用閘道
附註:此配置示例不限於此處列出的軟體版本和硬體平台。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路正在作用,請確保您已瞭解任何指令可能造成的影響。
CUBE的FoIP在多種環境中運行,實施目的是利用當前的VoIP網路提供可靠的傳真服務。CUBE支援多種傳真協定以及多種切換機制。但是,在IP服務提供商的情況下,您必須遵守思科以外的供應商支援的傳真協定和切換方法。
在FoIP呼叫流中,CUBE位於終端網關(TGW)和始發網關(OGW)之間。 從信令角度看,CUBE配置允許或拒絕從語音呼叫切換到傳真呼叫。由於VoIP環境中以端到端方式協商FoIP協定,因此配置從OGW到TGW的所有內容以使用相同的FoIP協定非常重要。
必須瞭解CUBE以及TGW和OGW上支援哪些FoIP流以及需要什麼配置,以確保可靠的傳真通訊。
由於IP服務提供商通常擁有思科和非思科裝置的混合環境,因此使用行業標準方法從語音呼叫切換到傳真呼叫至關重要。這表示無法使用命名信令事件(NSE),因為NSE是思科專有的。這一規定也有例外,但極其罕見。
附註:無法使用基於協定的切換意味著精簡呼叫控制協定(SCCP)僅用於發往G711ulaw的IP服務提供商的傳真呼叫流,並且是「盡最大努力」。
本檔案將討論兩種FoIP傳輸方法:傳真直通和T.38傳真中繼。
傳真直通是一種傳真傳輸方法,其中T30訊號和頁面資料作為脈衝編碼調制(PCM)編碼的資料通過IP網路傳輸,並封裝在即時傳輸協定(RTP)幀中。
在TGW上檢測到V.21報頭會觸發傳真直通切換。產生的INVITE(對於SIP)或請求模式(對於H323)通過CUBE和呼叫信令路徑的其餘部分傳送到OGW。
傳真直通切換從任何語音編解碼器切換到傳真直通配置下定義的編解碼器(本文檔稍後將介紹此過程)。
附註:無法配置MGCP網關以啟動到G.711的傳真傳輸。因此,任何在CUBE上使用直通且終止到MGCP網關的傳真都必須使用G.711編解碼器進行路由。
附註:如果初始編解碼器是G.711,則不應使用H.323配置傳真傳輸。這會導致H.245請求模式在已協商G.711時傳送到交換機G.711。CUCM響應H.245請求模式拒絕。
傳真中繼是一種傳真傳輸方法,其中TGW和OGW會檢測T30訊號與頁面資料。網關接收這些訊號並將其轉換為中繼消息,中繼消息是模擬訊號的數字表示,然後這些中繼消息通過IP網路傳送。
在TGW上檢測到V.21前導碼也會觸發T.38傳真中繼切換。
偵錯範例位於本檔案的「疑難排解」一節中。
CUBE可以在兩個位置配置FoIP:在voice service voip下以及撥號對等體下全域性設定。與給定呼叫匹配的撥號對等體上的配置始終優先於全域性配置。如果處於不同的撥號對等體下,則可同時配置T.38和傳真傳輸,以便同時支援這兩種協定。
若要在voice service voip下配置傳真傳輸,請使用以下命令(粗體):
voice service voip
no ip address trusted authenticate
allow-connections h323 to h323
allow-connections h323 to sip
allow-connections sip to h323
allow-connections sip to sip
fax protocol pass-through g711ulaw
要在撥號對等體上配置傳真傳輸,請使用以下命令(粗體):
dial-peer voice 1 voip
description T38 Test
destination-pattern ^1000$
session protocol sipv2
session target ipv4:192.168.0.1
dtmf-relay rtp-nte
fax protocol pass-through g711ulaw
no vad
附註:傳真傳遞與傳真傳遞不同。傳真傳遞利用思科網路服務引擎(NSE)從語音通話切換到傳真通話。
附註:Cisco IOS版本15.1(1)T及更高版本支援T.38版本3(超級G3傳真速度)。
要在語音服務voip下配置T.38版本0(G3傳真速度),請使用以下命令(粗體):
voice service voip
no ip address trusted authenticate
allow-connections h323 to h323
allow-connections h323 to sip
allow-connections sip to h323
allow-connections sip to sip
fax protocol t38 version 0 ls-redundancy 0 hs-redundancy 0 fallback none
要在撥號對等體上配置T.38,請使用以下命令(粗體):
dial-peer voice 1 voip
description T38 Test
destination-pattern ^1000$
session protocol sipv2
session target ipv4:192.168.0.1
dtmf-relay rtp-nte
fax protocol t38 version 0 ls-redundancy 0 hs-redundancy 0 fallback none
no vad
若要在語音服務VoIP下或在撥號對等體上配置T.38版本3,請使用以下命令:
fax protocol t38 version 3 ls-redundancy 0 hs-redundancy 0 fallback none
如果透過CUBE進行互通時使用媒體傳輸通訊協定(MTP),則必須支援編解碼器傳輸。Cisco Unified Communications Manager(CUCM)MTP支援8.6.1版及更高版本的編解碼器傳輸。在數位訊號處理器(DSP)場配置中,Cisco IOS MTP必須具有編解碼器直通:
dspfarm profile 2 mtp
codec pass-through
codec g729r8
maximum sessions software 50
associate application SCCP
對於SCCP控制的TDM網關,此配置用於傳真傳輸。
voice service voip
no modem passthrough
fax protocol none
no fax-relay sg3-to-g3
附註:此互通的區域設定中的編解碼器必須為G.711。如前所述,SCCP網關不能設定為與CUBE互通時使用T.38。
要為與CUBE互動的SIP和H.323 TDM網關配置傳真傳輸,請輸入:
voice service voip
no modem passthrough
no fax-relay sg3-to-g3
fax protocol pass-through g711ulaw
要為與CUBE互動的SIP和H.323 TDM網關配置T.38,請輸入:
voice service voip
no modem passthrough
fax protocol t38 version 0 ls-redundancy 0 hs-redundancy 0 fallback none
附註:如果在CUBE上配置了T.38版本3,並且SIP服務提供商支援該版本3。
若要為傳真直通與CUBE的互動配置一個MGCP TDM網關,請輸入:
no mgcp fax-relay sg3-to-g3
no mgcp package fxr-package
mgcp fax t38 inhibit
no mgcp modem passthrough voip mode nse
附註:由於MGCP網關不支援傳真直通的加速,因此MGCP網關和CUBE之間的CUCM中的區域必須具有編解碼器G.711。
目前沒有適用於此組態的驗證程序。
為了解決CUBE上的此問題,必須啟用這些調試。
為SIP啟用以下調試:
debug voip ccapi inout
debug ccsip mess
在設定語音呼叫後,TGW通過CUBE向OGW傳送SIP ReINVITE。如果切換成功,OGW將使用SIP 200 OK以正確的會話描述協定(SDP)引數進行響應。
INVITE sip:2101@10.0.0.1:5060 SIP/2.0
Via: SIP/2.0/UDP 10.0.0.2:5060;branch=z9hG4bK171D71
Remote-Party-ID: <sip:1101@10.0.0.2>;party=calling;screen=no;privacy=off
From: <sip:8141101@10.0.0.2>;tag=8D815D8-646
To: <sip:2101@10.0.0.1>;tag=DD4D344-21B2
Date: Fri, 25 Feb 2011 19:25:15 GMT
Call-ID: 32395B08-403E11E0-818C9D5B-499FBE40@10.0.0.1
Supported: 100rel,timer,resource-priority,replaces,sdp-anat
Min-SE: 1800
Cisco-Guid: 786980147-1077809632-2173148507-1235205696
User-Agent: Cisco-SIPGateway/IOS-12.x
Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, SUBSCRIBE,
NOTIFY, INFO, REGISTER
CSeq: 101 INVITE
Max-Forwards: 70
Timestamp: 1298661915
Contact: <sip:8141101@10.0.0.2:5060>
Expires: 180
Allow-Events: telephone-event
Content-Type: application/sdp
Content-Length: 384
v=0
o=CiscoSystemsSIP-GW-UserAgent 3745 9509 IN IP4 10.0.0.2
s=SIP Call
c=IN IP4 10.0.0.2
t=0 0
m=image 17682 udptl t38
c=IN IP4 10.0.0.2
a=T38FaxVersion:0
a=T38MaxBitRate:7200
a=T38FaxFillBitRemoval:0
a=T38FaxTranscodingMMR:0
a=T38FaxTranscodingJBIG:0
a=T38FaxRateManagement:transferredTCF
a=T38FaxMaxBuffer:200
a=T38FaxMaxDatagram:180
a=T38FaxUdpEC:t38UDPRedundancy
!!NOTE!! Not all of the above bolded fields are required.
The above is an example of how Cisco implements T38.
SIP/2.0 100 Trying
Via: SIP/2.0/UDP 10.0.0.2:5060;branch=z9hG4bK171D71
From: <sip:8141101@10.0.0.2>;tag=8D815D8-646
To: <sip:2101@10.0.0.1>;tag=DD4D344-21B2
Date: Fri, 25 Feb 2011 17:48:05 GMT
Call-ID: 32395B08-403E11E0-818C9D5B-499FBE40@10.0.0.1
CSeq: 101 INVITE
Allow-Events: telephone-event
Server: Cisco-SIPGateway/IOS-12.x
Content-Length: 0
176443: Feb 25 17:48:05.360:
//134/2EE85D338187/SIP/Msg/ccsipDisplayMsg:
Sent:
SIP/2.0 200 OK
Via: SIP/2.0/UDP 10.0.0.2:5060;branch=z9hG4bK171D71
From: <sip:8141101@10.0.0.2>;tag=8D815D8-646
To: <sip:2101@10.0.0.1>;tag=DD4D344-21B2
Date: Fri, 25 Feb 2011 17:48:05 GMT
Call-ID: 32395B08-403E11E0-818C9D5B-499FBE40@10.0.0.1
CSeq: 101 INVITE
Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, SUBSCRIBE,
NOTIFY, INFO, REGISTER
Allow-Events: telephone-event
Remote-Party-ID: <sip:2101@10.0.0.1>
;party=called;screen=no;privacy=off
Contact: <sip:2101@10.0.0.1:5060>
Supported: replaces
Supported: sdp-anat
Server: Cisco-SIPGateway/IOS-12.x
Supported: timer
Content-Type: application/sdp
Content-Length: 384
v=0
o=CiscoSystemsSIP-GW-UserAgent 5552 9399 IN IP4 10.0.0.1
s=SIP Call
c=IN IP4 10.0.0.1
t=0 0
m=image 16710 udptl t38
c=IN IP4 10.0.0.1
a=T38FaxVersion:0
a=T38MaxBitRate:7200
a=T38FaxFillBitRemoval:0
a=T38FaxTranscodingMMR:0
a=T38FaxTranscodingJBIG:0
a=T38FaxRateManagement:transferredTCF
a=T38FaxMaxBuffer:200
a=T38FaxMaxDatagram:320
a=T38FaxUdpEC:t38UDPRedundancy
ACK sip:2101@10.0.0.1:5060 SIP/2.0
Via: SIP/2.0/UDP 10.0.0.2:5060;branch=z9hG4bK181B79
From: <sip:8141101@10.0.0.2>;tag=8D815D8-646
To: <sip:2101@10.0.0.1>;tag=DD4D344-21B2
Date: Fri, 25 Feb 2011 19:25:15 GMT
Call-ID: 32395B08-403E11E0-818C9D5B-499FBE40@10.0.0.1
Max-Forwards: 70
CSeq: 101 ACK
Allow-Events: telephone-event
Content-Length: 0
INVITE sip:2101@10.0.0.1:5060 SIP/2.0
Via: SIP/2.0/UDP 10.0.0.2:5060;branch=z9hG4bK154F2
Remote-Party-ID: <sip:1101@10.0.0.2>;party=calling;screen=no;privacy=off
From: <sip:8131101@10.0.0.2>;tag=8D66B94-7BF
To: <sip:2101@10.0.0.1>;tag=DD32900-5D4
Date: Fri, 25 Feb 2011 19:23:25 GMT
Call-ID: F12F0BBB-403D11E0-81869D5B-499FBE40@10.0.0.1
Supported: 100rel,timer,resource-priority,replaces,sdp-anat
Min-SE: 1800
Cisco-Guid: 3990792353-1077744096-2172755291-1235205696
User-Agent: Cisco-SIPGateway/IOS-12.x
Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, SUBSCRIBE,
NOTIFY, INFO, REGISTER
CSeq: 101 INVITE
Max-Forwards: 70
Timestamp: 1298661805
Contact: <sip:8131101@10.0.0.2:5060>
Expires: 180
Allow-Events: telephone-event
Content-Type: application/sdp
Content-Length: 174
v=0
o=CiscoSystemsSIP-GW-UserAgent 107 1892 IN IP4 10.0.0.2
s=SIP Call
c=IN IP4 10.0.0.2
t=0 0
m=audio 16464 RTP/AVP 0
a=rtpmap:0 PCMU/8000
a=silenceSupp:off - - - -
SIP/2.0 100 Trying
Via: SIP/2.0/UDP 10.0.0.2:5060;branch=z9hG4bK154F2
From: <sip:8131101@10.0.0.2>;tag=8D66B94-7BF
To: <sip:2101@10.0.0.1>;tag=DD32900-5D4
Date: Fri, 25 Feb 2011 17:46:16 GMT
Call-ID: F12F0BBB-403D11E0-81869D5B-499FBE40@10.0.0.1
CSeq: 101 INVITE
Allow-Events: telephone-event
Server: Cisco-SIPGateway/IOS-12.x
Content-Length: 0
SIP/2.0 200 OK
Via: SIP/2.0/UDP 10.0.0.2:5060;branch=z9hG4bK154F2
From: <sip:8131101@10.0.0.2>;tag=8D66B94-7BF
To: <sip:2101@10.0.0.1>;tag=DD32900-5D4
Date: Fri, 25 Feb 2011 17:46:16 GMT
Call-ID: F12F0BBB-403D11E0-81869D5B-499FBE40@10.0.0.1
CSeq: 101 INVITE
Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, SUBSCRIBE,
NOTIFY, INFO, REGISTER
Allow-Events: telephone-event
Remote-Party-ID: <sip:2101@10.0.0.1>;party=called;screen=no;privacy=off
Contact: <sip:2101@10.0.0.1:5060>
Supported: replaces
Supported: sdp-anat
Server: Cisco-SIPGateway/IOS-12.x
Supported: timer
Content-Type: application/sdp
Content-Length: 194
v=0
o=CiscoSystemsSIP-GW-UserAgent 4896 2709 IN IP4 10.0.0.1
s=SIP Call
c=IN IP4 10.0.0.1
t=0 0
m=audio 19054 RTP/AVP 0
c=IN IP4 10.0.0.1
a=rtpmap:0 PCMU/8000
a=silenceSupp:off - - - -
ACK sip:2101@10.0.0.1:5060 SIP/2.0
Via: SIP/2.0/UDP 10.0.0.2:5060;branch=z9hG4bK16A56
From: <sip:8131101@10.0.0.2>;tag=8D66B94-7BF
To: <sip:2101@10.0.0.1>;tag=DD32900-5D4
Date: Fri, 25 Feb 2011 19:23:25 GMT
Call-ID: F12F0BBB-403D11E0-81869D5B-499FBE40@10.0.0.1
Max-Forwards: 70
CSeq: 101 ACK
Allow-Events: telephone-event
Content-Length: 0
為H323啟用以下調試:
debug voip ccapi inout
debug cch323 all
debug h225 asn1
debug h245 asn1
建立語音呼叫後,TGW通過CUBE向OGW傳送H245 RequestMode。如果切換成功,OGW將以RequestModeAck響應。
value MultimediaSystemControlMessage ::= request : requestMode :
{
sequenceNumber 1
requestedModes
{
{
{
type dataMode :
{
application t38fax :
{
t38FaxProtocol udp : NULL
t38FaxProfile
{
fillBitRemoval FALSE
transcodingJBIG FALSE
transcodingMMR FALSE
version 0
t38FaxRateManagement transferredTCF : NULL
t38FaxUdpOptions
{
t38FaxMaxBuffer 200
t38FaxMaxDatagram 72
t38FaxUdpEC t38UDPRedundancy : NULL
}
}
}
bitRate 144
}
}
}
}
}
001378: May 31 20:56:19.745: H245 MSC OUTGOING PDU ::=
value MultimediaSystemControlMessage ::= response :
requestModeAck :
{
sequenceNumber 1
response willTransmitMostPreferredMode : NULL
}
value MultimediaSystemControlMessage ::= request : requestMode :
{
sequenceNumber 1
requestedModes
{
{
{
type audioMode : g711Ulaw64k : NULL
}
}
}
}
value MultimediaSystemControlMessage ::= response :
requestModeAck :
{
sequenceNumber 1
response willTransmitMostPreferredMode : NULL
}
如果遇到此問題,請完成以下步驟:
如果遇到此問題,請完成以下步驟: