2013-03-26 2 views

답변

19

많은 사람들이 일반적으로 UDP를 voip과 연결하고 아마도 그 상태로 두지 만 간단히 말해서 VoIP 연결 및 음성 데이터 전송의 두 부분이 있습니다.

SIP는 매우 가벼운 프로토콜이며, 일단 연결이 설정되면 전화를 걸 때 드문 경우까지 유휴 상태가됩니다. TCP (UDP와는 달리)는 필요성을 제거하여 실제로 서버 트래픽을 감소시킵니다.

  1. 몇 분 간격으로
  2. RTP에 대한 새로 고침/핑 서버

당신은 (추천으로) 사용 후 TCP를 통해 SIP 및 실행할 수있는 UDP를 다시 등록합니다.

나는 훑어 본 뚜렷한 것들을 지적 할 수밖에 없었습니다. 예 : 서버에 연결하는 장치의 수. 숫자가 증가함에 따라 방정식은 UDP를 선호합니다. 그러나 여러 코덱, 멀티미디어, 비디오 및 화면 공유를 지원하도록 SIP 사용자 에이전트를 확장해야합니다. INVITE 패킷은 커지기 시작하여 잠재적으로 UDP 단일 데이터 그램 크기에서 실행되어 TCP를 사용하여 방정식을 다시 기울입니다.

당신이 대답하려고하는 질문에 대답하기에 충분한 정보가 있기를 바랍니다.

희망이 도움이됩니다.

제공 : onSip에서 멋진 토론 : https://www.onsip.com/blog/sip-via-udp-vs-tcp

+0

암호화가 필요한 경우도 염두에 두어야합니다 (SRTP는 내가 잘못하지 않았더라도 UDP를 사용할 수도 있음). – Marcos

+0

예, SRTP가 가장 자주 사용됩니다. SIP보다 RTP를 둘러싼 논의가 있습니다. SIP 보안의 경우 SIPS (보안 SIP)를 확인해야합니다. – MickJ

6

메시지가 큰 경우는, RFC 18.1.1 의무는 TCP의 사용 3261 섹션 (MTU 크기의 200 바이트 이내) (정확히 말하자면, 그것의 사용을 의무화 "TCP와 같은 혼잡 제어 전송 프로토콜"). 많은 헤더와 복잡한 요청 URI를 사용하여 초기에 INVITE을 보낼 때 실제로이를 실행했습니다.

12

SIP를 통한 SIP는 모바일 장치의 UDP보다 중요한 이점이 있습니다. 그 이유는 NAT를 사용하고 무선 라우터 나 셀 제공 업체의 라우터에있는 NAT 테이블 항목이 일반적으로 UDP 대 TCP에 비해 훨씬 빨리 시간을 초과하기 때문입니다. 안정적으로 호출을 수신하려면 동일한 NAT 테이블 항목을 유지해야하므로 SIP는 NAT 테이블 항목을 유지 관리하기 위해 주기적으로 연결 유지를 보내야합니다. keep-alives의 필요한 빈도는 UDP (30 초마다)와 TCP (15 분마다)에 비해 훨씬 높으므로 모바일 장치의 배터리 사용량이 눈에 띄게 높아집니다. VOIP 클라이언트를 사용할 때 배터리 사용량이 큰 타격을 입는 것에 대해 불평하는 사람이 종종있는 것은 클라이언트가 UDP를 사용하고 있기 때문입니다.

그래서 TCP는 모바일 장치에서 UDP 핸드를 통해 승리합니다.

위 내용은 모바일 장치에서 안정적으로 전화를 받기를 원한다고 가정 한 것입니다. 당신이하고 싶은 모두가 전화를 걸 수 있다면, 그것은 다른 이야기입니다.

+0

흥미 롭습니다. 하나는 근대 휴대 전화가 기본 제공되는 VoIP SIP 애플리케이션 (예 : Android 4 이상)을이 컨텍스트에서 어떻게 보유하는지 궁금해합니다. – Marcos

+1

이것에 대한 소스? 30 초마다 udp 패킷을 보내면 많은 배터리를 사용할 수있는 것처럼 들리지 않습니다. – kritzikratzi

-2

UDP가 이해할 수없는 경우 손실 연결에서 TCP가 완벽하게 투명하게 통과 할 수 있습니다. UDP를 사용하면 대기 시간이 짧아 지지만, 무엇을 말하고 있는지 이해할 수 없다면 도움이되지 않습니다.

+2

SIP는 음성 부분을 전달하지 않습니다. 그것은 RDP입니다. – Andrew

3

TCP 기반 프로토콜에서 오디오 스트림을 안정적으로 조합 할 수 없습니다. 오디오에서는 패킷을 잃어버린 다음 패킷이 없어 패킷을 재전송하는 것이 훨씬 낫습니다. 패킷 타이밍에 과도한 지터가 있으면 오디오가 작동하지 않습니다. 오디오는 실시간 프로토콜이므로 제대로 작동하려면 UDP와 같은 프로토콜이 필요합니다. 패킷 손실로 인해 오디오가 손상되지 않고 품질이 저하됩니다. TCP의 완벽한 전송은 어떤 식 으로든 오디오를 도울 수 없으며 패킷의 100 %를 얻으면 품질이 떨어질 수 있지만 실시간으로 전송되지는 않습니다. 오디오에서 데이터 무결성 이상의 품질을 결정하는 것은 타이밍 (대기 시간, 지터)입니다.

신호음 및 제어가 TCP를 넘었지만 음성 데이터가 UDP를 초과하는 경우이 SIP는 BEST과 작동합니다.

나는 1987 년 일본에서 새로 부상하는 디지털 셀룰러 네트워크를위한 최초의 스마트 폰 중 하나를 설계 한 이래로 네트워크 프로토콜을 통한 디지털 보이스 전송을 위해 노력해 왔습니다. 1987 년 이래로 변화하지 않은 디지털 음성 전송의 유일한면은 내가 여기서 설명한 것입니다. 오디오 (음성) 전송의 실시간 특성과 이것이 시스템 설계에 미치는 영향은 내가 나온 공룡 시대와 정확히 동일합니다.

관련 문제