CAFE

** 용어사전 **

[[용어사전]]SIP(Session Initiation Protocol)

작성자96 권영우|작성시간08.09.03|조회수174 목록 댓글 1

SIP(Session Initiation Protocol)

가) 정의

SIP는 다수의 사람이 화상회의나 전화 통화를 할 때 사용자를 제어하기 위한 프로토콜 보다는 회의나 전화통화에 상대방을 쉽게 초대할 수 있게 하기 위해 만들어진 프로토콜이다. SIP는 어떠한 프로토콜 스택에 메여 있지 않고, HTTP와 같은 텍스트 기반으로 정의되어 있어 확장이 용이하며 쉽게 사용할 수 있는 프로토콜이다. SIP는 기존에 사용하고 있는 E-MAIL 주소를 사용하고, 위치 지정 메시지를 통해 이동성을 제공하므로, 전화를 지정한 장소에서 받는 것이 가능한 단순한 프로토콜이다.

나) 구성 컴포넌트

⼇ User Agent(UA)

전화를 걸고 받을 수 있고 SIP 프로토콜의 기능을 지원하는 터미널을 의미하며 호를 요청하는 쪽을 UAC(Usr Agent Client)라고 하고, 받는 쪽을 UAS(User Agent Server)라고 한다.

⼇ Network Server

SIP 네트워크 망을 제어하는 것으로 H.323의 게이트키퍼와 비슷한 역할을 하며 네트워크 서버의 종류는 전체를 포괄적으로 처리해주는 Proxy Server와 사용자의 이동성을 보장하기 위한 Redirect Server 가 있다.

⼇ Registrar

SIP 사용자 단말기가 SIP 네트워크의 일부분으로 등록을 하기 위해 필요한 컴포넌트이다.

⼇Location Server

SIP 네트워크에서 주소를 확인한 후에 확인한 주소에 맞는 위치를 검색하기 위한 컴포넌트이다.

다) 주소

SIP는 Proxy Sever를 통한 연결방법과 상대방과 직접 연결을 할 수 있는 방법 두 가지를 제공한다. 전화를 거는 쪽에서는 SIP에 맞는 주소방식을 사용하여 INVITE 메시지를 통화를 원하는 쪽에게 전화를 통화를 요청하게된다. SIP에서 사용되는 주소를 살펴보면 크게 3가지로 분류할 수 있다. 첫 번째는 사용자가 사용하는 네트워크이름과 호스트의 이름에 사용자가 로그인하는 아이디를 합쳐 그것을 SIP주소로 사용할 수 있다. 두 번째는 IP주소 그 자체를 SIP주소로 사용할 수 있으며 세 번째는 E-MAIL주소나 기존에 홈페이지에서 사용하는 DNS이름을 SIP의 주소로 사용할 수 있으며 지금 가장 구체화된 것은 기존의 E-MAIL주소를 사용하는 방식이다.

라) 호 설정

호 설정은 상황에 따라 여러 가지 방법으로 나누어진다

. 첫 번째, Proxy 서버를 통해 호 설정을 할 것인지 아니면 직접 상대방에게 호 설정을 할 시도할 것인지를 결정한다. 만약 상대방의 주소를 알고 있고 직접 상대방에게 호 설정을 할 수 있으면 직접 호 설정을 하게되고 Proxy를 통해 이루어질 경우에는 DNS 룩업 테이블을 참고하여 상대방의 주소를 알아내고 호 설정을 하게 된다.

두 번째, 요청반응 프로토콜을 이용하여 상대방의 주소를 찾아 호를 설정하는 방법이다.. 요청 메시지는 TCP나 UDP를 사용하여 미리 정해진 잘 알려진 포트번호를 이용하여 전달하게된다. 클라이언트 사용자 에이전트는 네트워크 망을 살펴보는 도중에 위에서 정의된 잘 알려진 포트로 메시지가 수신되면 반응 메시지를 보내 전화나 화상회의에 참가하게 되다. 만약 받은 메시지나 보낸 메시지가 사용자에이전트나 서버에 의해 문제점이 발생하면 ICMP 메시지의 포트도달 불가 메시지를 전송하여 문제가 발생했다는 것을 알려준다.

마) 메시지

SIP의 모든 메시지는 텍스트 기반이며 메시지를 전달할 때에는 TCP나 UDP를 사용하여 여러개의 메시지가 하나의 TCP세그먼트나 UDP 데이터 그램에 의해 보낸다. SIP의 데이터의 크기는 MTU를 알고 있는 네트워크에 대해서는 MTU의 값을 넘지 않는 한도에서 데이터를 보내고 MTU를 알 수 없는 네트워크에 대해서는 1KByte 이하의 데이터를 보낼 수 있도록 정의되어 있다. 다음의 표 1]는 SIP의 메시지의 종류와 기능을 보여준다.

메시지 종류

기능

INVITE

1xx

Informational

ACK

2xx

Success

BYE

3xx

Redirction

CANCEL

4xx

Client Error

REGISTER

5xx

Server Error

OPTION

6xx

Gloval Error

표 1 ] SIP 메시지 종류

⼇메시지 포맷


그림 1] 메시지 포멧

⸁ METHODS : 메시지의 START LINE을 표기하며 메시지종류, 요청아이디 SIP의 버전을 표기한다.

⸂ HEADER : SIP의 헤더는 문맥 의미 차원에서 MIME 헤더 필드와 비슷하다. SIP의 헤더에는 지나가는 노드의 주소(PATH), 송·수신자의 주소, 같은 주소에 몇 번이나 연결이 되었나를 나타내는 순서 번호와 TTL로 이루어져있다. 헤더에 포함된 PATH값을 네트워크 안에서 정의하기 위해서는 메시지 전달과정에서 메시지의 수정이 가능해야 하며, 이것은 메시지에 대한 보안 문제를 발생시킨다.

⸃ BLANK LINE : 헤더와 메시지 바디의 경계를 표기한다.

⸄ MESSAGE BODY : 메시지의 내용과 통신에 필요한 속성 값을 담아 전달하는 곳이다.

⼇ SIP 메시지의 사용 예

그림 2 ] 메시지 사용 예

바) 연결 절차

⼇ Proxy Mode에서의 SIP의 동작

⸁ 송신측(UAC)에서 수신측(UAS)을 초대하기 위하여 NETWORK 서버에 초대 메시지 보낸다.

⸂ NETWORK SERVER에서 수신측(UAS)의 주소를 가지고 위치를 알기 위해 LOCATION SERVER에 문의한다.

⸃ LOCATION SERVER는 수신측(UAS)의 위치를 NETWORK 서버에 알려준다.

⸄ LOCATION SERVER로부터 받은 위치정보를 이용하여 수신측(UAS)에게 초대 메시지를 보내다.

⸅ 수신측(UAS)은 초대 메시지를 받으면 전화벨을 울려 전화가 온 것을 알린다.

⸆-⸇ 200OK 메시지를 송신측(UAC)에게 보내 연결이 만들어진 것을 알린다.

⸈-⸉ 200OK에 대해서 송신측(UAC)은 ACK로 응답하고 통화가 시작된다.

그림 3 ] Proxy Mode Operation

⼇ Redirect Mode에서의 SIP의 동작

⸁ 송신측(UAC)에서 수신측(UAS)을 초대하기 위하여 NETWORK 서버에 초대 메시지 보낸다.

⸂ NETWORK SERVER에서 수신측(UAS)의 주소를 가지고 위치를 알기 위해 LOCATION SERVER에 문의한다.

⸃ LOCATION SERVER는 수신측(UAS)의 위치를 NETWORK 서버에 알려준다.

⸄ LOCATION SERVER로부터 받은 위치정보를 보고 수신측(UAS)의 위치가 변경되었다는 것을 알고 송신측(UAC)에게 변경된 위치를 알려 준다.

⸅ 송신측(UAC)은 MOVED 정보를 받았다고 ACK로 응답한다.

⸆ 송신측(UAC)은 이동된 곳의 위치로 초대 메시지를 보낸다.

⸇ 수신측(UAS)은 200OK 메시지를 이용하여 응답한다.

⸈ 송신측(UAC)은 수신측(UAS)에게 200OK 메시지에 대한 응답으로 ACK를 보낸다.

그림 4 ] REDIRECT MODE OPERATION

다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
  • 작성자96 권영우 작성자 본인 여부 작성자 | 작성시간 08.09.03 http://mars.hannam.ac.kr/
댓글 전체보기
맨위로

카페 검색

카페 검색어 입력폼