SIP — 소개
요약
SIP(Session Initiation Protocol)는 보안 제품에 대한 시스템 통합을 위한 추가 인터페이스를 제공합니다. SIP는 통신 산업에서 널리 채택된 표준이며, 상호 연결 및 일상적인 사용을 위해 향상된 유연성을 제공합니다. 개방형의 표준화된 인터페이스는 시스템 통합업체, 개발자 및 최종 사용자가 요청하는 것이며 시스템 통합업체, 개발자 및 최종 사용자에게 더 많은 가치를 제공합니다. 제품을 다양한 시스템에서 사용할 수 있기 때문입니다. SIP를 지원하는 Axis 제품은 보안 솔루션과 통신 솔루션 모두에 사용하기 위한 것입니다.
SIP 시스템 설정은 쉬울 수 있습니다. 그러나 복잡한 네트워크 토폴로지의 경우 또는 보안 요건 및 추가 호출 처리 기능이 필요한 경우 SIP 서버 및 NAT 통과 기법을 사용해야 하며 설치자 또는 기사의 기술적 이해도가 더 높아야 합니다.
서론
SIP(Session Initiation Protocol)는 서로 다른 당사자 간의 멀티미디어 세션을 시작, 유지 및 종료하는 데 사용됩니다. 이러한 세션은 일반적으로 오디오로 구성되지만 때로는 비디오도 포함됩니다. SIP는 VoIP(Voice over IP) 애플리케이션 및 통합 커뮤니케이션(Unified Communications: UC) 플랫폼에서 사용되는 표준 프로토콜입니다(섹션 3 참조).
SIP는 Axis 네트워크 제품을 연결, 통합 및 제어하는 방식입니다. 모든 Axis 네트워크 스피커, 모든 Axis 네트워크 인터콤, 일부 Axis 시스템 장치 및 Axis 카메라에서 지원됩니다.
작동 방식
SIP를 사용하여 통신하려면 최소 2개의 SIP 클라이언트가 필요합니다. SIP 클라이언트는 SIP 하드폰, 소프트폰, 모바일 클라이언트 또는 SIP 지원 Axis 제품일 수 있습니다.
각 SIP 클라이언트에는 고유한 SIP 주소가 할당됩니다. SIP 주소는 이메일 주소와 유사하지만 접두사가 “sip:“입니다.
예를 들어, sip:bob@axis.com [sip:<user@]<provider>. 이 식별자는 여러 장치에 걸쳐서 사용할 수 있으며, 여러 장치에 사용할 수 있는 SIM 카드에 연결된 전화번호와 유사합니다.
P2P(peer-to-peer) 설정 – 간단한 방법
SIP 시스템은 다양한 형태를 취할 수 있습니다. 가장 단순한 형태의 경우, 시스템은 서로 직접 통신하는 둘 이상의 SIP User Agent(UA)로 구성됩니다. 이것은 P2P 설정, 직접 호출 설정 또는 로컬 설정이라고 할 수 있습니다. 이러한 경우 전형적인 SIP 주소는 sip:<local-ip> 형식을 갖습니다(예: sip:192.168.0.90).
예: 간단한 설정에서, 이러한 Axis 제품(1, 2)은 동일한 네트워크에 있는 다른 SIP 장치(3)와 오디오 및/또는 비디오 통신을 설정하기 위해 SIP를 사용할 수 있어서 서버나 PBX가 필요하지 않습니다. 동시에 이들 장치는 다른 Axis 장치와 마찬가지로 공개 API VAPIX 또는 ONVIF Profile S를 사용하여 영상 관리 시스템(4)에 연결할 수 있습니다. |
로컬 네트워크의 한 UA에서 다른 UA로 P2P 통화를 하려면 장치의 IP 주소가 포함된 SIP 주소만 있으면 됩니다.
SIP 서버 사용(PBX) – 더 많은 가능성 추가
SIP 기반 VoIP 인프라는 확장이 매우 용이합니다. 규모를 한 단계 더 키우는 방법은 SIP 서버 또는 사설 교환기(PBX)를 중앙 허브로 사용하는 것입니다 SIP UA는 서버의 등록기에 등록한 다음 PBX의 내선 번호로 전화를 걸기만 하면 다른 UA들에 연결할 수 있습니다.
이 경우 일반적인 SIP 주소는 sip:<user>@<domain> 형식을 사용합니다. 또는 sip:<user>@<registrar-ip>(예: sip:6007@mysipserver.net)일 수 있습니다. PBX는 기존 교환기처럼 작동하여 클라이언트의 현재 상태를 보여주고 통화 전송, 음성 메일, 리디렉션 등을 허용합니다.
SIP 서버에는 일반적으로 프록시, 등록 서버 및 리디렉션 기능이 포함됩니다. 프록시는 통화를 라우팅하고 수신 통화에 추가 로직을 제공합니다. 등록 서버는 등록 요청을 수락하고 처리하는 도메인에 대한 위치 서비스 역할을 합니다. 리디렉션 서버는 대체 SIP 주소에 연결하도록 클라이언트를 리디렉션합니다.
SIP 서버는 로컬 엔터티로 설정될 수 있거나 외부에 배치될 수 있습니다. 온프레미스로 또는 클라우드에서 호스팅할 수 있습니다. 여러 사이트에 걸쳐 SIP 호출을 할 때, 일반적으로 호출은 초기에 SIP 프록시 세트를 통해 라우팅됩니다. 이 프록시는 도달할 SIP 주소의 위치를 질의합니다.
예: Axis 제품(1, 2)은 로컬로 또는 외부에서 SIP 서버(3)에 연결할 수 있습니다. 서버는 로컬 네트워크 또는 인터넷을 통해 SIP 장치 간의 호출 설정 및 종료를 처리합니다. 이 설정에서 장치의 SIP 주소는 IP 주소와 독립적이며, 장치가 서버에 등록되어 있는 한 SIP 서버는 장치에 대한 액세스가 가능하도록 합니다. |
장치와 SIP 서버를 사용하려면, 지정된 사용자 ID와 비밀번호를 이용해 서버에 계정을 만들어야 합니다. 장치를 서버에 등록하려면 서버 주소, 사용자 ID 및 비밀번호를 입력하여 장치에 계정을 설정해야 합니다.
SIP 트렁크 사용 – 전화번호 할당
SIP 트렁크를 사용하면, SIP UA를 기존 전화 네트워크(PSTN)로 전환할 수 있습니다. 이러한 방식으로 일반 전화번호를 SIP UA에 할당할 수도 있습니다.
클라우드 기반 SIP 트렁킹은 인터넷을 활용하여 통화 및 기타 통신 서비스를 제공하는 현대적인 방식입니다. 이 방법을 사용하면 물리적 전화선이 필요하지 않으므로 클라우드 솔루션 및 VoIP 시스템과 더 쉽게 통합할 수 있습니다.
예: 서비스 제공자와 함께 SIP 트렁크(1)를 사용하여 외부 전화 번호를 장치(2, 3)에 할당할 수 있습니다. 이러한 방식으로 네트워크 스피커 또는 네트워크 인터콤과 일반 전화기(4) 간에 통화를 할 수 있습니다. | ![]() |
SIP 트렁크와 함께 사용할 경우 장치는 위에서 설명한 방식으로 서버에 연결됩니다.
통합 커뮤니케이션(UC)
통합 커뮤니케이션(UC)은 다양한 커뮤니케이션 도구와 기술을 하나의 일관된 시스템으로 통합하는 것을 말합니다. SIP는 음성, 비디오, 인스턴트 메시징, 현재 상태 정보 등 다양한 커뮤니케이션 채널 간의 원활한 상호작용을 가능하게 함으로써 UC에서 중요한 역할을 합니다. 조직은 SIP를 활용하여 협업을 강화하고 생산성을 향상시키며 여러 장치와 플랫폼에서 일관된 사용자 경험을 제공하는 통합 커뮤니케이션 환경을 구축할 수 있습니다.
UC는 온프레미스 솔루션에서 로컬로 제공하거나 클라우드 솔루션(서비스형 UC - UCaaS)을 통해 제공할 수 있습니다. 클라우드 솔루션 서비스 제공업체의 예로는 Cisco Webex, Microsoft Teams, Zoom이 있습니다.
일반적 SIP 호출 내에서
SIP 호출을 하기 위해, 단계 시퀀스를 수행하여 호출을 개시하고 수신하는 UA 간에 정보를 교환합니다.
호출을 시작할 때 개시자 UA(1)가 수신자 UA(2)의 SIP 주소로 요청 또는 INVITE를 보냅니다. INVITE에는 사용 가능한 미디어 형식과 호출 개시자의 연락처 정보를 기술한 SDP(Session Description Protocol) 본문이 포함됩니다.
INVITE를 수신하면 수신자는 100 TRYING 응답으로 대답하여 즉시 승인합니다.
그런 다음 수신한 UA가 SDP에 기술된 미디어 형식을 자체 미디어 형식과 비교합니다. 일반적인 형식을 결정할 수 있으면 UA는 들어오는 호출이 있음을 수신자에게 알리고 개시한 UA에게 180 RINGING으로 임시 응답을 다시 전송합니다.
수신자가 호출을 수신하면, 연결이 설정되었음을 확인하도록 개시자에게 200 OK 응답이 전송됩니다. 이 응답에는 사용할 미디어 형식과 미디어 스트림이 전송될 대상을 개시자에게 지시하는 협상된 SDP가 포함되어 있습니다.
이제 협상된 SDP를 기반으로 하는 매개변수와 함께 RTP(실시간 전송 프로토콜)를 사용하여 협상된 미디어 스트림을 설정하고 미디어가 양쪽 대상으로 직접 이동합니다. 개시자는 SIP를 통해 ACK(승인)를 전송하여 동의한 대로 미디어 스트림이 설정되었음을 승인합니다. SIP 세션은 여전히 활성 상태지만 더 이상 미디어 전송에는 관여하지 않습니다.
당사자 중 하나가 통화를 종료하기로 결정하면 새로운 요청인 BYE를 보냅니다. BYE를 수신하면 수신 당사자는 200 OK로 이를 승인하고 그런 다음 RTP 미디어 스트림이 중지됩니다.
SDP – 사용할 포맷 협상
세션 설명 프로토콜(SDP)은 스트리밍 미디어 초기화 매개변수를 설명하기 위한 형식입니다. SDP 본문에는 클라이언트가 지원하는 미디어 형식(즉, 코덱)과 클라이언트가 선호하는 코덱 선택 순서에 대한 정보가 포함되어 있습니다.
SIP 통화에 사용되는 일반적인 오디오 코덱은 PCMU, PCMA, G.722, G.726 및 L16입니다. 개시자와 수신자 모두에서 다중 중복 코덱을 지원하는 경우 일반적으로 수신자 측에서 우선 순위가 가장 높은 코덱이 선택됩니다. 코덱 선택은 궁극적으로 대역폭에 영향을 미치므로 다른 SIP UA에 대한 호환성 요구 사항을 충족하고 사용 사례에 맞는 대역폭 요구 사항을 유지하려면 신중하게 고려해야 합니다. 예를 들어 모든 클라이언트가 L16을 지원하는 로컬 네트워크에서는 압축되지 않은 오디오를 선택하는 것이 좋습니다. 그러나 SIP UA를 휴대폰에서 인터넷을 통해 액세스하는 경우, PCMU가 더 나은 선택입니다.
복잡한 SIP 인프라 내의 호출
더 복잡한 SIP 인프라 설정에서는 SIP 세션이 홉마다 단계별로 설정되므로 개시가 약간 다르게 시작됩니다. 그러나 SIP 세션이 설정되면 트래픽은 일반적으로 라우팅되지 않고 대신 앞의 예에서와 같이 서로 다른 당사자 간에 직접 이동합니다.
DTMF – SIP 호출을 통한 명령 전송
DTMF(Dual-Tone Multiple-Frequency)는 전화 연결을 통해 정보를 보내는 데 사용되는 형식입니다. DTMF 신호는 SIP 호출을 통해 전송될 수 있으며 SIP 장치에 명령을 제공하는 데 사용할 수 있습니다. DTMF 문자 범위는 숫자 0-9, 문자 A-D, * 및 #으로 구성됩니다.
예를 들어, SIP 지원 인터콤에 대한 호출에서 DTMF 문자 '5'는 전화기의 키패드에서 전송될 수 있으며, 이는 수신자가 도어 잠금 해제 명령으로 해석하도록 구성할 수 있습니다.
SIP 호출에서 DTMF를 전송하는 세 가지 방법이 있습니다.
신호가 실제로 오디오 스트림과 인터리브된 오디오 펄스인 기존의 대역 내 방법. 그러나 이 방법은 신뢰할 수 없으며 압축되지 않은 코덱으로만 작동합니다.
DTMF 문자가 신호 스트림의 SIP 메시지로 전송되는 SIP INFO 방법. 이 방법은 매우 신뢰할 수 있고 대역 외이지만 지원이 제한적입니다.
DTMF 문자가 RTP 패키지로 인코딩되어 대역 외로 전송되는 RTP 방법(RFC2833). 이 방법은 사실상의 표준이며 광범위한 지원을 받고 있습니다.
복잡한 환경과 강화된 보안
기업 네트워크와 같은 복잡한 네트워크 환경에서는 SIP를 사용하는 데 어려움이 있을 수 있습니다. 암호화를 사용하려는 경우에도 마찬가지입니다.
SIP 암호화 사용
SIP 신호 트래픽은 일반적으로 비연결지향 UDP 프로토콜을 통해 전송됩니다. TCP를 통해 전송할 수도 있으며 이 경우 TLS(Transport Layer Security)로 암호화할 수도 있습니다.
통화에 보안 연결이 사용되도록 하기 위해 SIP 프로토콜은 전송 모드를 TLS로 설정할 것을 요구하는 SIPS(Secure SIP)라는 주소 지정 체계를 사용합니다. 전화를 걸 때 발신 SIP 주소에는 “sip“가 아닌 “sips:“라는 접두사가 붙습니다(예: sip:bob@biloxi.ex.com 대신 sips:bob@biloxi.ex.com). 이를 위해서는 각 홉이 TLS로 보호되어야 하고 수신 측에서 동일한 보안 수준을 사용해야 합니다. TLS를 사용할 때 sip 접두사가 붙은 주소를 호출하면 첫 번째 홉만 암호화됩니다.
최고 수준의 보안을 얻으려면 다음 조치를 취해야 합니다.
전송 모드는 TLS로 설정해야 합니다.
sips 접두사는 항상 사용해야 합니다.
SIP INFO는 암호화된 채널로 전송되므로 DTMF 톤을 전송하는 데 사용해야 합니다.
모든 클라이언트가 Secure SIP를 지원하는 것은 아닙니다.
SIP 용어
API | 애플리케이션 프로그래밍 인터페이스(Application Programming Interface) |
코덱 | 코더-디코더(Coder-decoder) |
하드폰 | 전화를 걸 수 있는 하드웨어, 즉 전화기 |
ICE | 대화형 연결 설정(Interactive Connectivity Establishment) |
IP | 인터넷 프로토콜(Internet Protocol) |
모바일 클라이언트 | 전화를 거는 모바일 장치의 소프트웨어 프로그램 |
NAT | 네트워크 주소 변환(Network Address Translation) |
PBX | 사설 교환기(Private Branch Exchange) |
PSTN | 공중 교환 전화망(Public Switched Telephone Network), 즉 일반 전화망 |
RTP | 실시간 전송 프로토콜(Real-time Transport Protocol) |
SDP | 세션 설명 프로토콜(Session Description Protocol) |
SIM | 가입자 식별 모듈(Subscriber Identity Module) |
SIP | 세션 개시 프로토콜(Session Initiation Protocol) |
SIP 서버 | IP PBX의 주요 구성 요소입니다. 통화 설정 및 통화 해제를 처리합니다. SIP 프록시 또는 등록 서버라고도 합니다. |
SIPS | Secure SIP |
SIP URI(SIP 주소) | 통합 리소스 식별자(Uniform Resource Identifier). SIP UA의 고유 주소입니다. |
소프트폰 | 전화를 거는 소프트웨어 프로그램 |
STUN | Session Traversal Utilities for NAT |
TCP | 전송 제어 프로토콜(Transmission Control Protocol) |
TLS | 전송 레이어 보안(Transport Layer Security) |
TURN | Traversal Using Relays around NAT |
UA | 사용자 에이전트. 통신 세션의 양쪽 엔드 포인트입니다. |
UC | 통합 커뮤니케이션(Unified Communications) |
UDP | 사용자 데이터그램 프로토콜(User Datagram Protocol) |
VOIP | Voice over IP |