대용량 SIP 패킷 크기를 어떻게 처리합니까?
네트워크에서 UDP 패킷을 1480바이트보다 큰 페이로드로 세그먼트화하여 초과 패킷이 MTU를 초과하지 않도록 합니다.
세그먼트화된 UDP 패킷을 차단하는 것은 일반적인 라우터 정책입니다.라우터는 메시지를 전달하기 전에 마지막 세그먼트를 수신할 때까지 UDP 메시지의 각 세그먼트를 메모리에 보유해야 합니다.이 기능은 메모리가 가득 찰 때까지 라우터에 불완전한 메시지를 보내 라우터에 오류를 일으킬 수 있습니다.이러한 이유로 이 조건에 대한 수정 사항을 포함하지 않는 라우터는 세그먼트화된 UDP 패킷을 허용하지 않는 경우가 많습니다.
UDP 세그멘테이션을 처리하지 않거나 처리할 수 없는 라우터에 대한 해결 방법은 SIP over TCP로 변환하는 것입니다.BroadWorks는 UDP, TCP 또는 (지정되지 않음)에서 수신 및/또는 수신하도록 다양한 위치에서 설정할 수 있습니다. 다음은 이러한 설정을 구성하는 다양한 위치입니다.
AS_CLI/Interface/SIP> get
[…]
supportTcp = true
AS_CLI/System/Device/NetworkServers/Routing> get
Net Address Port Transport Poll OpState Description
=====================================================================
ns1.ihs.broadsoft.com tcp false enabled ns1
ns2.ihs.broadsoft.com tcp false enabled ns2
AS_CLI/System/CallP/Routing/MediaServerSelection/MediaServerDevice> get
Net Address Port Transport Description
=====================================================
ms1.ihs.broadsoft.com 5060 tcp ms1
ms2.ihs.broadsoft.com 5060 tcp ms2
NS_CLI/System/Device/RoutingNE/Address> get
About to access 22 entries. Continue?
Please confirm (Yes, Y, No, N): y
Retrieving data... Please wait...
Routing NE Address Cost Weight Port Transport
=======================================================================
[…]
test3 10.2.2.2 1 99 5060 tcp
test1 10.6.6.6 1 90 5060 tcp
test2 10.1.1.1 1 90 5060 tcp
22 entries found.
또한 많은 SBC가 UDP와 TCP를 모두 지원합니다.일부 SBC는 UDP를 TCP로 변환할 수도 있습니다.다음은 프로토콜을 지정할 수 있는 ACME SD의 컨피그레이션 예입니다.
sip-interface
state enabled
realm-id access
description Public to IHS ACCESS SIP Interface
sip-port
address 64.212.220.94
port 5060
transport-protocol UDP
tls-profile
allow-anonymous all
sip-port
address 64.212.220.94
port 5060
transport-protocol TCP
tls-profile
allow-anonymous all
session-agent
hostname 10.48.7.56
ip-address 10.48.7.56
port 5060
state enabled
app-protocol SIP
app-type
transport-method TCP
디바이스를 설정하여 프로토콜을 지정할 수도 있습니다.예를 들어, Polycom은 TCPonly, TCPpreffered 또는 DNS 응답이 프로토콜(DNSnaptr)을 지정하도록 허용할 수 있습니다
큰 SIP UDP 메시지의 예
2010.08.17 08:22:44:815 EDT | Info | Sip | +12403645153 | callhalf-171159287:1
udp 1580 Bytes OUT to 10.10.10.1:5060
INVITE sip:2403640001@10.10.10.1:5060;user=phone;transport=udp SIP/2.0
Via:SIP/2.0/UDP 10.10.10.2;branch=z9hG4bKBroadWorks.11l7pom-10.10.10.1V5060-0-13480-1064780560-1282047764815-
From:\"test-cc1 travis\";tag=1064780560-1282047764815-
To:\"Mike - Test Acct Inmon\"
Call-ID:BW082244815170810-243190739@10.10.10.2
CSeq:13480 INVITE
Contact:
Remote-Party-ID:\"test-cc1 travis\";screen=yes;party=calling;privacy=off;id-type=subscriber
RPID-Privacy:party=calling;privacy=off;id-type=subscriber
Proxy-Require:privacy
Diversion:\"Mike - Test Acct Inmon\";privacy=off;diversion-inhibited;reason=follow-me;counter=5,\"Mike - Test Acct Inmon\";privacy=off;reason=follow-me;counter=1,\"test-cc1 travis\";privacy=off;hg-cc;delay-ccm;reason=unknown;counter=1
Supported: Allow:ACK,BYE,CANCEL,INFO,INVITE,OPTIONS,PRACK,REFER,NOTIFY,UPDATE
Accept:multipart/mixed,application/dtmf-relay,application/media_control+xml,application/sdp,application/x-broadworks-call-center+xml
Max-Forwards:5
Content-Type:application/sdp
Content-Length:283
v=0
o=BroadWorks 1618137 1 IN IP4 10.10.10.2
s=-
c=IN IP4 10.10.10.2
t=0 0
m=audio 16580 RTP/AVP 0 8 18 101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:18 G729/8000
a=rtpmap:101 telephone-event/8000
a=silenceSupp:on - - - -
a=fmtp:101 0-15
a=ptime:20
a=sendrecv