본 제품에 대한 문서 세트는 편견 없는 언어를 사용하기 위해 노력합니다. 본 설명서 세트의 목적상, 편견 없는 언어는 나이, 장애, 성별, 인종 정체성, 민족 정체성, 성적 지향성, 사회 경제적 지위 및 교차성에 기초한 차별을 의미하지 않는 언어로 정의됩니다. 제품 소프트웨어의 사용자 인터페이스에서 하드코딩된 언어, RFP 설명서에 기초한 언어 또는 참조된 서드파티 제품에서 사용하는 언어로 인해 설명서에 예외가 있을 수 있습니다. 시스코에서 어떤 방식으로 포용적인 언어를 사용하고 있는지 자세히 알아보세요.
Cisco는 전 세계 사용자에게 다양한 언어로 지원 콘텐츠를 제공하기 위해 기계 번역 기술과 수작업 번역을 병행하여 이 문서를 번역했습니다. 아무리 품질이 높은 기계 번역이라도 전문 번역가의 번역 결과물만큼 정확하지는 않습니다. Cisco Systems, Inc.는 이 같은 번역에 대해 어떠한 책임도 지지 않으며 항상 원본 영문 문서(링크 제공됨)를 참조할 것을 권장합니다.
이 문서에서는 서로 다른 통화 흐름 및 버전에 대해 Cisco IOS 및 IOS-XE Voice Router에서 RTP 소스 검증 기능의 동작을 설명합니다.
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다.이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다.네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 이해해야 합니다.
이 문서를 최대한 활용하려면 VoIP Networks 및 VoIP Signaling Protocols의 기본 사항을 이해하는 것이 중요합니다.
RTP 소스 검증은 Cisco Voice Router에 통합된 기능으로 신뢰할 수 없는 인바운드 RTP 트래픽을 삭제할 수 있습니다.
이 기능의 주요 목표는 디바이스에서 더 높은 보안 수준을 확보하고 VoIP 네트워크에서 CrossTalk 문제를 방지하는 것입니다.
IOS Voice Router에는 이 기능의 여러 가지 유형이 있으며 IOS-XE Voice Router에는 하나의 옵션이 있습니다.
IOS 및 IOS-XE에서 이 기능을 사용하면 음성 라우터가 알 수 없는 IP 주소 또는 포트에서 인바운드 RTP 트래픽을 삭제합니다. 즉, 신호를 통해 협상되지 않은 IP 주소 또는 포트에서 수신한 패킷은 음성 라우터에서 삭제됩니다.
이 기능이 IOS 및 IOS-XE에서 작동하는 방식은 라우터의 아키텍처와 코드에 도입된 시점으로 인해 약간 다릅니다.다음 섹션에서는 이러한 시나리오에 대해 설명합니다.
IOS는 이 기능의 두 가지 유형을 가집니다.
주의:다음 섹션에서 다루는 시나리오는 Cisco CUCM(Unified Communications Manager) Music on Hold(MoH)에 있지만, 요구 사항이 충족되는 한 동일한 동작으로 인해 기능이 RTP를 삭제하도록 트리거되는 다른 상황이 있습니다.
이 기능은 SIP 통화 흐름에만 사용할 수 있습니다.
구성된 경우 통화 흐름에 사용된 신호 처리가 RTP가 시작되는 IP 주소 및 포트를 협상하지 않은 경우 음성 라우터는 해당 패킷을 버립니다.
Source Validation(소스 검증)은 소스 IP 주소와 소스 포트를 확인합니다.
voice service voip sip source filter
예를 들어 CUCM이 통화를 보류하고 기본적으로 CUCM이 신호를 통해 포트 4000을 알릴 때는 신호처리를 통해 RTP를 알리고 실제로는 Clusterwide Parameters(클러스터 wide 매개변수)에서 Service Parameter Duplex Streaming Enabled( 32768-610000000000)에서 RTP를 스트리밍하는가 비활성화하는 좋은 경우가 있습니다.
Debug CCSIP Messages(디버그 CCSIP 메시지)는 음성 라우터에 SDP(Session Description Protocol)와 함께 수신된 SIP ACK 메시지를 표시하며, 이는 라우터에 RTP가 CUCM-IP-Address 및 Port 4000에서 제공됨을 알려줍니다.
//-1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg: Received: ACK sip:6002@Router-IP-Address:5060 SIP/2.0 Via: SIP/2.0/UDP CUCM-IP-Address:5060;branch=z9hG4bK4a424fed85 From: <sip:65002@CUCM-IP-Address>;tag=4091~842780d9-7186-4740-ada2-23e5d1b91316-46404063 To: <sip:6002@Router-IP-Address>;tag=2FF652-51D Date: Thu, 18 Apr 2019 19:59:50 GMT Call-ID: 3EDDD9E4-614B11E9-800D9C4B-C5465DB2@Router-IP-Address User-Agent: Cisco-CUCM12.0 Max-Forwards: 70 CSeq: 102 ACK Allow-Events: presence Session-ID: 4978aa3900105000a000006cbcbcfda2;remote=836b14b48c77bfe681c0780c54ab4091 Content-Type: application/sdp Content-Length: 191 v=0 o=CiscoSystemsCCM-SIP 4091 3 IN IP4 CUCM-IP-Address s=SIP Call c=IN IP4 CUCM-IP-Address (MoH Server) t=0 0 m=audio 4000 RTP/AVP 0 a=X-cisco-media:umoh a=ptime:20 a=rtpmap:0 PCMU/8000 a=sendonly
Show Call Active Voice Brief(통화 활성 음성 개요 표시)는 RTP가 CUCM-IP-Address 및 포트 4000에서 발생할 것으로 예상되는 레그의 RX 증분을 표시하지 않습니다. RTP는 다른 포트에서 수신되고 음성 라우터에서 삭제됩니다.
11EC : 3 3143250ms.1 (14:59:02.516 CDT Thu Apr 18 2019) +1960 pid:0 Answer 6002 active dur 00:47:29 tx:2330/391440 rx:64875/10380000 dscp:0 media:0 audio tos:0x0 video tos:0x0 Tele 0/0/0:23 (3) [0/0/0.23] tx:2803960/1263780/0ms g711ulaw noise:-65 acom:3 i/0:-60/-64 dBm 11EC : 4 3143250ms.2 (14:59:02.516 CDT Thu Apr 18 2019) +1950 pid:1 Originate 65002 connected dur 00:47:29 tx:1686/269760 rx:2330/372800 dscp:0 media:0 audio tos:0xB8 video tos:0x0 IP CUCM-IP-Address:4000 SRTP: off rtt:1ms pl:46150/0ms lost:0/0/0 delay:55/55/65ms g711ulaw TextRelay: off Transcoded: No ICE: Off media inactive detected:n media contrl rcvd:n/a timestamp:n/a long duration call detected:n long duration call duration:n/a timestamp:n/a LostPacketRate:0.00 OutOfOrderRate:0.00
Show VoIP RTP Connections(VoIP RTP 연결 표시)는 RmtRTP를 4000으로, RemoteIP를 CUCM-IP-Address로 표시합니다.
라우터는 RTP가 동일한 소스에서 올 것으로 예상합니다.
show voip rtp connections VoIP RTP Port Usage Information: Max Ports Available: 8091, Ports Reserved: 101, Ports in Use: 1 Min Max Ports Ports Ports Media-Address Range Port Port Available Reserved In-use ------------------------------------------------------------------------------ Global Media Pool 16384 32766 8091 101 1 ------------------------------------------------------------------------------ VoIP RTP active connections : No. CallId dstCallId LocalRTP RmtRTP LocalIP RemoteIP MPSS 1 4 3 16386 4000 Router-IP-Address CUCM-IP-Address NO Found 1 active RTP connections
스니퍼 캡처를 사용하면 RTP가 실제로 어디에서 오는지 확인할 수 있습니다. 이 예에서는 4000 대신 포트 24588에서 오므로 소스 검증이 실패하여 음성 라우터가 패킷을 삭제합니다.
이 기능은 15.5(3)M9, 15.6(3)M6 IOS 버전에서 도입되었습니다.
소스 필터와 동일한 방식으로 작동하며 먼저 소스 IP 주소를 검증한 다음 소스 포트를 검증하지만 두 가지 주요 차이점이 있습니다.
주의:이 기능은 기본적으로 활성화되며 컨피그레이션에 나타나지 않습니다.이 기능을 지원하는 모든 IOS 릴리스로 업그레이드하면 신호처리 대신 다른 소스에서 RTP를 전송하는 디바이스가 있는 경우 오디오 문제가 발생할 수 있습니다.
명령 앞에 No가 표시되어 이 기능을 비활성화하면 컨피그레이션에 표시됩니다.
Configuration Terminal voice rtp source-filter
H.323의 경우:
음성 라우터의 디버그 H225 ASN1은 라우터에 원격 미디어 주소 0.0.0.0:0에 대해 알리는 openLogicalChannelAck 수신을 표시합니다.
H245 MSC OUTGOING PDU ::= value MultimediaSystemControlMessage ::= response : openLogicalChannelAck : { forwardLogicalChannelNumber 1 forwardMultiplexAckParameters h2250LogicalChannelAckParameters : { mediaChannel unicastAddress : iPAddress : { network 'Router-IP-Address'H tsapIdentifier 16404 (Router's UDP Port for the RTP) } mediaControlChannel unicastAddress : iPAddress : { network 'Router-IP-Address'H tsapIdentifier 16405 (Router's UDP Port for the RTCP) } flowControlToZero FALSE } }
Received openLogicalChannelAck has network and tsapIdentifier for the mediaChannel in zeros which means IP Address 0.0.0.0 and port 0.
H245 MSC INCOMING PDU ::= value MultimediaSystemControlMessage ::= response : openLogicalChannelAck : { forwardLogicalChannelNumber 2 forwardMultiplexAckParameters h2250LogicalChannelAckParameters : { sessionID 1 mediaChannel unicastAddress : iPAddress : { network '00000000'H tsapIdentifier 0 } mediaControlChannel unicastAddress : iPAddress : { network '00000000'H tsapIdentifier 1 } } }
Show Call Active Voice Brief(통화 활성 음성 개요 표시)에는 RX 증분이 표시되지 않으며 Remote IP Address and Port(원격 IP 주소 및 포트)가 0.0.0.0:0으로 설정되어 있습니다.
11F5 : 21 18903090ms.1 (16:00:48.794 CDT Fri Apr 19 2019) +1070 pid:2 Answer 6002 active dur 00:00:43 tx:376/63168 rx:899/137074 dscp:0 media:0 audio tos:0x0 video tos:0x0 Tele 0/1/0:23 (21) [0/1/0.1] tx:35340/14230/0ms g711ulaw noise:-68 acom:3 i/0:-64/-63 dBm 11F5 : 22 18903090ms.2 (16:00:48.794 CDT Fri Apr 19 2019) +1070 pid:1 Originate 36004 active dur 00:00:43 tx:152/23047 rx:376/60160 dscp:0 media:0 audio tos:0xB8 video tos:0x0 IP 0.0.0.0:0 SRTP: off rtt:0ms pl:0/0ms lost:0/0/0 delay:0/65/65ms g711ulaw TextRelay: off Transcoded: No ICE: Off media inactive detected:n media contrl rcvd:n/a timestamp:n/a long duration call detected:n long duration call duration:n/a timestamp:n/a LostPacketRate:0.00 OutOfOrderRate:0.00 LocalUUID: RemoteUUID: VRF:
Show VoIP RTP Connections(VoIP 연결 표시)는 RmtRTP 및 RemoteIP를 0.0.0.0:0으로 표시하므로 라우터는 해당 소스의 RTP를 예상합니다.
VoIP RTP Port Usage Information: Max Ports Available: 8091, Ports Reserved: 101, Ports in Use: 1 Port range not configured Min Max Ports Ports Ports Media-Address Range Port Port Available Reserved In-use ------------------------------------------------------------------------------ Global Media Pool 16384 32766 8091 101 1 ------------------------------------------------------------------------------ VoIP RTP active connections : No. CallId dstCallId LocalRTP RmtRTP LocalIP RemoteIP MPSS VRF 1 22 21 16404 0 Router-IP-Address 0.0.0.0 NO NA Found 1 active RTP connections
스니퍼 캡처를 사용하면 RTP가 수신되는 위치를 확인할 수 있습니다.이 예에서는 Port 0 및 IP Address 0.0.0.0 대신 포트 24608 및 CUCM-IP-Address에서 수신됩니다.
Debug VoIP RTP Error(디버그 VoIP RTP 오류는 0.0.0이 아닌 CUCM-IP-Address에서 수신한 삭제된 패킷의 사유를 표시하므로 소스 검증이 실패합니다.
voip_rtp_recv_fs_input:ERROR IP address validation failed, dropping packet. Expected addr: 0.0.0.0, Received addr: CUCM-IP-Address voip_rtp_recv_fs_input:ERROR IP address validation failed, dropping packet. Expected addr: 0.0.0.0, Received addr: CUCM-IP-Address voip_rtp_recv_fs_input:ERROR IP address validation failed, dropping packet. Expected addr: 0.0.0.0, Received addr: CUCM-IP-Address voip_rtp_recv_fs_input:ERROR IP address validation failed, dropping packet. Expected addr: 0.0.0.0, Received addr: CUCM-IP-Address
SIP의 경우:
Debug CCSIP Messages(디버그 CCSIP 메시지)는 음성 라우터에 SDP와 함께 수신되는 SIP ACK 메시지를 표시하며, 이 메시지는 라우터가 CUCM-IP-Address 및 Port 4000에서 RTP를 제공하도록 지시합니다.
//-1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg: Received: ACK sip:6002@Router-IP-Address:5060 SIP/2.0 Via: SIP/2.0/UDP CUCM-IP-Address:5060;branch=z9hG4bK16712e94eda From: <sip:65002@CUCM-IP-Address>;tag=5931~842780d9-7186-4740-ada2-23e5d1b91316-46404140 To: <sip:6002@10.201.160.54>;tag=FE677E-E12 Date: Fri, 19 Apr 2019 23:53:48 GMT Call-ID: 32798F13-623511E9-805BC9D5-801BF5C7@Router-IP-Address User-Agent: Cisco-CUCM12.0 Max-Forwards: 70 CSeq: 102 ACK Allow-Events: presence Session-ID: 5fdd1bc300105000a000006cbcbcfda2;remote=761410b40eed518a94bd5f7bbccfbe40 Content-Type: application/sdp Content-Length: 191 v=0 o=CiscoSystemsCCM-SIP 5931 3 IN IP4 CUCM-IP-Address s=SIP Call c=IN IP4 CUCM-IP-Address (MoH Server) t=0 0 m=audio 4000 RTP/AVP 0 a=X-cisco-media:umoh a=ptime:20 a=rtpmap:0 PCMU/8000 a=sendonly
Show Call Active Voice Brief(통화 활성 음성 개요 표시)는 CUCM-IP-Address:4000에서 RTP가 수신될 것으로 예상하는 레그의 RX 증분을 표시하지 않습니다.
RTP는 실제로 다른 포트에서 오므로 삭제됩니다.
11F0 : 29 16672630ms.1 (18:53:43.109 CDT Fri Apr 19 2019) +1450 pid:0 Answer 6002 active dur 00:00:07 tx:169/28392 rx:265/42400 dscp:0 media:0 audio tos:0x0 video tos:0x0 Tele 0/0/0:23 (29) [0/0/0.23] tx:4020/4020/0ms g711ulaw noise:-74 acom:3 i/0:-64/-64 dBm 11F0 : 30 16672630ms.2 (18:53:43.109 CDT Fri Apr 19 2019) +1450 pid:1 Originate 65002 connected dur 00:00:07 tx:64/10240 rx:169/27040 dscp:0 media:0 audio tos:0xB8 video tos:0x0 IP CUCM-IP-Address:4000 SRTP: off rtt:0ms pl:3200/0ms lost:0/0/0 delay:0/55/65ms g711ulaw TextRelay: off Transcoded: No ICE: Off media inactive detected:n media contrl rcvd:n/a timestamp:n/a long duration call detected:n long duration call duration:n/a timestamp:n/a LostPacketRate:0.00 OutOfOrderRate:0.00 LocalUUID:5fdd1bc300105000a000006cbcbcfda2 RemoteUUID:761410b40eed518a94bd5f7bbccfbe40 VRF: NA
Show VoIP RTP Connections는 RmtRTP 및 RemoteIP를 CUCM-IP-Address:400으로 표시합니다. 라우터는 RTP가 해당 소스에서 오는 것으로 예상합니다.
show voip rtp connections VoIP RTP Port Usage Information: Max Ports Available: 8091, Ports Reserved: 101, Ports in Use: 1 Port range not configured Min Max Ports Ports Ports Media-Address Range Port Port Available Reserved In-use ------------------------------------------------------------------------------ Global Media Pool 16384 32766 8091 101 1 ------------------------------------------------------------------------------ VoIP RTP active connections : No. CallId dstCallId LocalRTP RmtRTP LocalIP RemoteIP MPSS VRF 1 30 29 16430 4000 Router-IP-Address CUCM-IP-Address NO NA Found 1 active RTP connections
스니퍼 캡처를 사용하면 RTP가 실제로 어디에서 오는지 확인할 수 있습니다. 이 예에서는 CUCM-IP-Address:4000 대신 포트 24634 및 CUCM-IP-Address에서 오는지 확인할 수 있습니다.
Debug VoIP RTP Error(디버그 VoIP RTP 오류는 포트 4000 대신 포트 24634에서 수신한 삭제된 패킷의 이유를 보여주므로 소스 유효성 검사에 실패합니다.
voip_rtp_recv_fs_input:ERROR Port validation failed, dropping RTP packet. Expected port: 4000, Received port: 24634 voip_rtp_recv_fs_input:ERROR Port validation failed, dropping RTP packet. Expected port: 4000, Received port: 24634 voip_rtp_recv_fs_input:ERROR Port validation failed, dropping RTP packet. Expected port: 4000, Received port: 24634 voip_rtp_recv_fs_input:ERROR Port validation failed, dropping RTP packet. Expected port: 4000, Received port: 24634
MGCP의 경우:
Debug MGCP Packets(디버그 MGCP 패킷)는 통화가 처음에 협상된 미디어와 보류된 시간을 표시합니다.
When the call initially connects, it negotiates the media capabilities through SDP.
MGCP Packet received from CUCM-IP-Address:2427---> MDCX 1324 S0/SU1/DS1-1/23@3945-A.luirami2.lab MGCP 0.1 C: D000000002c4139b000000F500000008 I: 10 X: 17 L: p:20, a:PCMU, s:off, t:b8 M: sendrecv R: D/[0-9ABCD*#] S: Q: process,loop v=0 o=- 16 0 IN EPN S0/SU1/DS1-1/23@3945-A.luirami2.lab s=Cisco SDP 0 t=0 0 m=audio 23248 RTP/AVP 0 c=IN IP4 IP-Phone-IP-Address <--- MGCP Packet sent to CUCM-IP-Address:2427---> 200 1324 OK <---
Then when it is placed on hold, CUCM only changes the direction of the media.
MGCP Packet received from CUCM-IP-Address:2427---> MDCX 1325 S0/SU1/DS1-1/23@3945-A.luirami2.lab MGCP 0.1 C: D000000002c4139b000000F500000008 I: 10 X: 17 M: recvonly R: D/[0-9ABCD*#] Q: process,loop <--- MGCP Packet sent to CUCM-IP-Address:2427---> 200 1325 OK <---
Show Call Active Voice Brief(통화 활성 음성 개요 표시)는 IP-Phone-IP-Address:23248에서 RTP가 오길 예상하는 레그의 RX 증분을 표시하지 않습니다.
RTP는 실제로 다른 IP 주소에서 오므로 삭제됩니다.
11FD : 38 31140580ms.1 (19:24:46.254 CDT Fri Apr 19 2019) +0 pid:0 Originate connecting dur 00:00:36 tx:289/46240 rx:272/43520 dscp:0 media:0 audio tos:0xB8 video tos:0x0 IP IP-Phone-IP-Address:23248 SRTP: off rtt:1ms pl:5440/70ms lost:0/0/0 delay:0/55/65ms g711ulaw TextRelay: off Transcoded: No ICE: Off media inactive detected:n media contrl rcvd:n/a timestamp:n/a long duration call detected:n long duration call duration:n/a timestamp:n/a LostPacketRate:0.00 OutOfOrderRate:0.00 LocalUUID: RemoteUUID: VRF: 11FD : 37 31140580ms.2 (19:24:46.252 CDT Fri Apr 19 2019) +0 pid:0 Originate active dur 00:00:36 tx:272/45696 rx:1832/293120 dscp:0 media:0 audio tos:0x0 video tos:0x0 Tele 0/1/1:23 (37) [0/1/1.23] tx:36630/36630/0ms g711ulaw noise:-68 acom:6 i/0:-65/-60 dBm
Show VoIP RTP Connections는 RmtRTP 및 RemoteIP를 IP-Phone-IP-Address:23248로 표시합니다. 라우터는 RTP가 해당 소스에서 오는 것으로 예상합니다.
show voip rtp connections VoIP RTP Port Usage Information: Max Ports Available: 8091, Ports Reserved: 101, Ports in Use: 1 Port range not configured Min Max Ports Ports Ports Media-Address Range Port Port Available Reserved In-use ------------------------------------------------------------------------------ Global Media Pool 16384 32766 8091 101 1 ------------------------------------------------------------------------------ VoIP RTP active connections : No. CallId dstCallId LocalRTP RmtRTP LocalIP RemoteIP MPSS VRF 1 38 37 16420 23248 Router-IP-Address IP-Phone-IP-Address NO NA Found 1 active RTP connections
스니퍼 캡처를 사용하면 RTP가 실제로 어디에서 오는지 확인할 수 있습니다. 이 예에서는 IP-Phone-IP-Address:23248 대신 포트 24612 및 CUCM-IP-Address에서 오는지 확인할 수 있습니다.
Debug VoIP RTP Error(디버그 VoIP RTP 오류는 IP-Phone-IP-Address 대신 CUCM-IP-Address에서 수신한 삭제된 패킷의 사유를 보여 주므로 소스 검증이 실패합니다.
voip_rtp_recv_fs_input:ERROR IP address validation failed, dropping packet. Expected addr: IP-Phone-IP-Address, Received addr: CUCM-IP-Address voip_rtp_recv_fs_input:ERROR IP address validation failed, dropping packet. Expected addr: IP-Phone-IP-Address, Received addr: CUCM-IP-Address voip_rtp_recv_fs_input:ERROR IP address validation failed, dropping packet. Expected addr: IP-Phone-IP-Address, Received addr: CUCM-IP-Address voip_rtp_recv_fs_input:ERROR IP address validation failed, dropping packet. Expected addr: IP-Phone-IP-Address, Received addr: CUCM-IP-Address
SCCP의 경우:
Debug SCCP Messages(디버그 SCCP 메시지)는 통화가 보류된 시점을 표시합니다.
CUCM은 먼저 음성 라우터가 CloseReceiveChannel 및 StopMediaTransmission을 사용하여 비활성 미디어로 전환하도록 지시합니다.
SCCP:rcvd CloseReceiveChannel CloseReceiveChannelMsg Info: conference_id = 33554439, pass_through_party_id = 33554541, call_ref = 46404215, port_handling = 0 SCCP:rcvd StopMediaTransmission StopMediaTransmissionMsg Info: conference_id = 33554439, pass_through_party_id = 33554541, call_ref = 46404215, port_handling = 0
그런 다음 CUCM은 음성 라우터에 OpenReceiveChannel을 사용하여 recvonly로 전환하도록 지시합니다.
SCCP:rcvd OpenReceiveChannel OpenReceiveChannelMsg Info: conference_id = 33554439, pass_through_party_id = 33554542 msec_pkt_size = 20, compression_type = 4 qualifier_in.ecvalue = 0, g723_bitrate = 0, call_ref = 46404215 stream_pass_through_id = 16777216, rfc2833_payload_type = 0 codec_dynamic_payload = 0, codec_mode = 0 Encryption Info :: algorithm_id 0, key_len 0, salt_len 0 requestedAddrType = 0, source_ip_addr.ipAddrType = 0, source_ip_addr = CUCM-IP-Address, source_port_number = 4000, audio_level_adjustment = 0 SCCP:send OpenReceiveChannelAck OpenReceiveChannelAck Info: pass_through_party_id=33554542, status=0(ok), host_ip_addr= Router-IP-Address, port=16390
Show SCCP Connections(SCCP 연결 표시)는 0.0.0.0:0으로 ripadr 및 rportas:0을 표시합니다. 라우터는 해당 소스에서 RTP를 가져올 것으로 예상합니다.
show sccp connections sess_id conn_id stype mode codec sport rport ripaddr conn_id_tx 33554439 33554542 mtp recvonly g711u 16390 0 0.0.0.0 33554439 33554540 mtp sendrecv g711u 16386 16384 10.201.160.54 Total number of active session(s) 1, and connection(s) 2
Debug VoIP RTP Error(디버그 VoIP RTP 오류는 0.0.0이 아닌 CUCM-IP-Address에서 수신한 삭제된 패킷의 이유를 보여주므로 소스 검증이 실패합니다.
000147: Apr 24 11:49:22.499: voip_rtp_recv_fs_input:ERROR IP address validation failed, dropping packet. Expected addr: 0.0.0.0, Received addr: CUCM-IP-Address 000148: Apr 24 11:49:22.519: voip_rtp_recv_fs_input:ERROR IP address validation failed, dropping packet. Expected addr: 0.0.0.0, Received addr: CUCM-IP-Address 000149: Apr 24 11:49:22.539: voip_rtp_recv_fs_input:ERROR IP address validation failed, dropping packet. Expected addr: 0.0.0.0, Received addr: CUCM-IP-Address 000150: Apr 24 11:49:22.559: voip_rtp_recv_fs_input:ERROR IP address validation failed, dropping packet. Expected addr: 0.0.0.0, Received addr: CUCM-IP-Address
IOS-XE에서 가장 중요한 점은 다음과 같습니다.
H.323의 경우:
이 프로토콜을 사용하면 CUCM이 항상 openLogicalChannelAck 메시지를 IP 주소 및 포트가 0으로 설정되어 미디어를 비활성화하므로 MoH의 RTP가 작동하지 않습니다.
H245 MSC INCOMING PDU ::= value MultimediaSystemControlMessage ::= response : openLogicalChannelAck : { forwardLogicalChannelNumber 6 forwardMultiplexAckParameters h2250LogicalChannelAckParameters : { sessionID 1 mediaChannel unicastAddress : iPAddress : { network '00000000'H tsapIdentifier 0 } mediaControlChannel unicastAddress : iPAddress : { network '00000000'H tsapIdentifier 1
RX 증가 값이 중지되고 원격 미디어 주소가 IP 0.0.0.0:0인 방법을 확인하기 위해 통화 활성 음성 요약 표시를 사용하여 동일한 사항을 확인할 수 있습니다.
11F3 : 17 8703830ms.1 (13:00:22.060 CDT Tue Apr 23 2019) +2150 pid:2 Answer 6002 active dur 00:15:22 tx:19014/9213600 rx:1/3836010 dscp:0 media:0 audio tos:0x0 video tos:0x0 Tele 0/1/1:23 (17) [0/1/1.23] tx:158740/106870/0ms g711ulaw noise:-68 acom:22 i/0:-57/-61 dBm 11F3 : 18 8703830ms.2 (13:00:22.060 CDT Tue Apr 23 2019) +2150 pid:1 Originate 55002 active dur 00:15:22 tx:19709/3836010 rx:46068/9213600 dscp:0 media:0 audio tos:0xB8 video tos:0x0 IP 0.0.0.0:0 SRTP: off rtt:0ms pl:0/0ms lost:0/0/0 delay:0/0/0ms g711ulaw TextRelay: off Transcoded: No ICE: Off media inactive detected:n media contrl rcvd:n/a timestamp:n/a long duration call detected:n long duration call duration:n/a timestamp:n/a LostPacketRate:0.00 OutOfOrderRate:0.00
경고:RX 및 TX는 Media Bulk-Stats 명령이 Voice Service VoIP에서 구성되지 않는 한 IOS-XE 플랫폼에서 증가하지 않지만 이 명령은 라우터의 성능에 영향을 줄 수 있으므로 문제 해결 시에만 활성화한 후 비활성화하는 것이 좋습니다.
Debug Voip FPI Inout은 미디어가 openLogicalChannelAck에서 비활성화되었으므로 여기에 활성화된 NAT(Network Address Translation) 플래그를 표시하지 않습니다. 비활성화된 미디어는 메시지 측면:SIDE_A, rtp_type:0:와 함께 확인할 수 있습니다.
//18/7F507F32800A/VOIPFPI:():voip_fpi_get_snd_rcv_enable_flag: side:SIDE_A, rtp_type:0: send:0 recv:0 //18/7F507F32800A/VOIPFPI:():voip_fpi_get_snd_rcv_enable_flag: destAddr == 0, rcv and send both set to FALSE
show platform hardware qfp active 기능 sbc global |s Total packets dropped|Dropped packets: 통화가 보류 중인 동안 인그레스 흐름이 비활성화된 증분을 수신하는 모든 삭제된 패킷이 있는 테이블을 표시합니다.
show platform hardware qfp active feature sbc global | s Total packets dropped|Dropped packets: Total packets dropped = 138512 Dropped packets: No associated flow = 0 Wrong source for flow = 0 Ingress flow receive disabled = 138512 Egress flow send disabled = 0 Not conforming to flowspec = 0
SIP용
SIP를 사용하는 경우 CUCM은 SDP에 CUCM -IP-Address, Port 4000 및 direction에 대한 미디어 속성을 a=sendonly로 전송하며, 이는 라우터에 RTP만 수신하도록 지시합니다.
v=0 o=CiscoSystemsCCM-SIP 72019 3 IN IP4 CUCM-IP-Address s=SIP Call c=IN IP4 CUCM-IP-Address (MoH Server) t=0 0 m=audio 4000 RTP/AVP 0 a=X-cisco-media:umoh a=ptime:20 a=rtpmap:0 PCMU/8000 a=sendonly
a=sendonly는 음성 라우터 관점에 대한 미디어 방향을 recvonly로 설정하며, 이렇게 하면 다른 소스에서 오는 경우에도 RTP가 통과하도록 허용하는 NAT 플래그 기능이 트리거됩니다.
이는 Debug VoIP FPI Inout을 통해 확인할 수 있습니다.
//25/3EAF69800000/VOIPFPI:():voip_fpi_get_snd_rcv_enable_flag: side:SIDE_A, rtp_type:2:RECVONLY send:0 recv:2 //25/3EAF69800000/VOIPFPI:():voip_fpi_get_snd_rcv_enable_flag: recvonly mode - setting NAT flag
이 경우 미디어 방향에 대한 다른 특성이 음성 라우터로 전송되면 NAT 플래그 기능이 활성화되지 않고 패킷이 다른 소스에서 오므로 삭제됩니다.
디버그 CCSIP 메시지는 이 예에서 a=sendrecv를 보여줍니다.
v=0 o=CiscoSystemsCCM-SIP 72019 3 IN IP4 CUCM-IP-Address s=SIP Call c=IN IP4 CUCM-IP-Address (MoH Server) t=0 0 m=audio 4000 RTP/AVP 0 a=X-cisco-media:umoh a=ptime:20 a=rtpmap:0 PCMU/8000 a=sendrecv
Debug VoIP FPI Inout은 rtp_type:3:SENDRECV로 설정된 미디어 방향과 NAT 플래그 함수가 없음을 표시합니다.
//27/F56119000000/VOIPFPI:():voip_fpi_get_snd_rcv_enable_flag: side:SIDE_A, rtp_type:3:SENDRECV send:1 recv:2
NAT 플래그가 없으므로 show platform hardware qfp active feature sbc global |s Total packets dropped|Dropped packets: Wrong source for flow 섹션에서 증가분을 표시합니다.
4351-A#show platform hardware qfp active feature sbc global | s Total packets dropped|Dropped packets: Total packets dropped = 33496 Dropped packets: No associated flow = 0 Wrong source for flow = 33196 Ingress flow receive disabled = 0 Egress flow send disabled = 0 Not conforming to flowspec = 0
MGCP의 경우:
MGCP를 사용하는 경우 CUCM은 통화가 처음 연결되었을 때 이미 협상된 미디어 방향을 변경하기 위해 MDCX를 보냅니다. 따라서 IP 주소 또는 신호 처리는 변경되지 않지만 MDCX가 다른 소스에서 스트리밍됩니다.
M부터:recvonly는 음성 라우터로 전송되며 NAT 플래그 기능이 활성화됩니다.
MGCP Packet received from CUCM-IP-Address:2427---> MDCX 1529 S0/SU1/DS1-1/23@4351-A.luirami2.lab MGCP 0.1 C: D000000002c4151d000000F50000000a I: B X: 17 M: recvonly R: D/[0-9ABCD*#] Q: process,loop <---
Debug VoIP FPI Inout은 RTP_type:2:RECVONLY 및 NAT 플래그 기능으로 설정된 미디어 방향을 표시하며, 이 기능을 통해 RTP가 통과할 수 있습니다.
//30/xxxxxxxxxxxx/VOIPFPI:():voip_fpi_get_snd_rcv_enable_flag: side:SIDE_A, rtp_type:2:RECVONLY send:0 recv:2 //30/xxxxxxxxxxxx/VOIPFPI:():voip_fpi_get_snd_rcv_enable_flag: recvonly mode - setting NAT flag
이 경우 미디어 방향에 대한 다른 특성이 음성 라우터로 전송되면 NAT 플래그 기능이 활성화되지 않고 패킷이 다른 소스에서 오므로 삭제됩니다.
디버그 MGCP 패킷은 다음 예에서 M:sendrecv.
MGCP Packet received from CUCM-IP-Address:2427---> MDCX 1530 S0/SU1/DS1-1/23@4351-A.luirami2.lab MGCP 0.1 C: D000000002c4151d000000F50000000a I: B X: 17
M: sendrecv R: D/[0-9ABCD*#] Q: process,loop <---
Debug VoIP FPI Inout은 rtp_type:3:SENDRECV로 설정된 미디어 방향과 NAT 플래그 함수가 없음을 표시합니다.
//29/F56119000000/VOIPFPI:():voip_fpi_get_snd_rcv_enable_flag: side:SIDE_A, rtp_type:3:SENDRECV send:1 recv:2
NAT 플래그가 없으므로 show platform hardware qfp active feature sbc global |s Total packets dropped|Dropped packets: Wrong source for flow 섹션에서 증가분을 표시합니다.
show platform hardware qfp active feature sbc global | s Total packets dropped|Dropped packets: Total packets dropped = 33596 Dropped packets: No associated flow = 0 Wrong source for flow = 33296 Ingress flow receive disabled = 0 Egress flow send disabled = 0 Not conforming to flowspec = 0
SCCP의 경우:
Debug SCCP Messages(디버그 SCCP 메시지)는 통화가 보류된 시점을 표시합니다.
CUCM은 먼저 음성 라우터가 CloseReceiveChannel 및 StopMediaTransmission을 사용하여 비활성 미디어로 전환하도록 지시합니다.
SCCP:rcvd CloseReceiveChannel
CloseReceiveChannelMsg Info:
conference_id = 33554436, pass_through_party_id = 33554500, call_ref = 46405010, port_handling = 0
SCCP:rcvd StopMediaTransmission
StopMediaTransmissionMsg Info:
conference_id = 33554436, pass_through_party_id = 33554500, call_ref = 46405010, port_handling = 0
그런 다음 CUCM은 음성 라우터에 OpenReceiveChannel을 사용하여 복구하도록 지시합니다.
SCCP:rcvd OpenReceiveChannel
OpenReceiveChannelMsg Info:
conference_id = 33554436, pass_through_party_id = 33554501
msec_pkt_size = 20, compression_type = 4
qualifier_in.ecvalue = 0, g723_bitrate = 0, call_ref = 46405010
stream_pass_through_id = 16777216, rfc2833_payload_type = 0
codec_dynamic_payload = 0, codec_mode = 0
Encryption Info :: algorithm_id 0, key_len 0, salt_len 0
requestedAddrType = 0, source_ip_addr.ipAddrType = 0, source_ip_addr = CUCM-IP-Address, source_port_number = 4000,
audio_level_adjustment = 0
SCCP:send OpenReceiveChannelAck
OpenReceiveChannelAck Info:
pass_through_party_id=33554501, status=0(ok), host_ip_addr= Router-IP-Address, port=8028
Show SCCP Connections(SCCP 연결 표시)는 0.0.0.0:0으로 ripadr 및 rportas:0을 표시합니다. 라우터는 해당 소스에서 RTP를 가져올 것으로 예상합니다.
show sccp connections sess_id conn_id stype mode codec sport rport ripaddr conn_id_tx 33554436 33554501 mtp recvonly g711u 8028 0 0.0.0.0 33554436 33554499 mtp sendrecv g711u 8022 8024 Router-IP-Address Total number of active session(s) 1, and connection(s) 2
Debug VoIP FPI Inout은 RTP_type:2:RECVONLY 및 NAT 플래그 기능으로 설정된 미디어 방향을 표시하며, 이 기능을 통해 RTP가 통과할 수 있습니다.
//18/xxxxxxxxxxxx/VOIPFPI:():voip_fpi_get_snd_rcv_enable_flag: side:SIDE_A, rtp_type:1:SENDONLY send:1 recv:0
//15/xxxxxxxxxxxx/VOIPFPI:():voip_fpi_get_snd_rcv_enable_flag: side:SIDE_B, rtp_type:3:SENDRECV send:1 recv:2
//19/xxxxxxxxxxxx/VOIPFPI:():voip_fpi_get_snd_rcv_enable_flag: side:SIDE_A, rtp_type:2:RECVONLY send:0 recv:2
//19/xxxxxxxxxxxx/VOIPFPI:():voip_fpi_get_snd_rcv_enable_flag: recvonly mode - setting NAT flag
//15/xxxxxxxxxxxx/VOIPFPI:():voip_fpi_get_snd_rcv_enable_flag: side:SIDE_B, rtp_type:3:SENDRECV send:1 recv:2
팁: OpenReceiveChannel 메시지는 음성 라우터가 RTP를 수신하도록 지시하는 데 사용되며 음성 라우터는 해당 미디어를 수신하려는 OpenReceiveChannelAck을 통해 CUCM에 알립니다.
StartMediaTransmission 메시지는 음성 라우터가 지정된 대상에 RTP를 보내도록 지시하는 데 사용됩니다.
즉, OpenReceiveChannel만 교환되는 경우 미디어 리소스에 RTP(recvonly)만 수신함을 알리는 방법이 되며 StartMediaTransmission만 교환되는 경우 RTP(sendonly)만 전송하는 미디어 리소스를 알리는 방법입니다. 둘 다 교환되는 경우 sendrecv와 같습니다.
미디어 방향이 sendonly 또는 sendrecv로 설정되어 있고 RTP가 다른 소스에서 오는 경우 NAT 플래그가 활성화되지 않고 show platform hardware qfp active feature sbc global |s 삭제된 총 패킷 수|삭제된 패킷: 삭제된 패킷을 표시합니다.
팁:신호 처리를 통해 협상된 주소와 다른 주소에서 제공된 RTP를 허용해야 하는 경우, Voice Service Voip에서 nat force-on을 사용할 수 없는 경우 Sip를 사용하여 수동 삭제를 추가할 수 있습니다.이전에 제대로 작동하지 않았지만 결함이 수정되었습니다. CSCvo15141 .이 기능은 SIP에서만 작동합니다.
경고: 음성 서비스 voip 아래 pass-thru 콘텐츠 sdp가 구성된 경우, FPI 레이어가 recvonly를 수신할 때 NAT 플래그 기능을 활성화할 수 없습니다.
팁:NAT 플래그가 통화에 대해 활성 상태이고 오디오가 제대로 작동하는 일부의 경우 show platform hardware qfp active feature sbc global에서 삭제된 패킷 값 | s 삭제된 총 패킷 수|삭제된 패킷 수:여전히 훨씬 더 낮은 속도로 증가할 수 있습니다. 이는 일부 상황과 통화 흐름에서 RTCP(Real Time Control Protocol)를 음성 라우터와 다른 소스로 전송할 수 있기 때문입니다.