Chungnam National University Computer Science and Engineering Database
Chungnam National University Computer Science and Engineering Database System Laboratory Session Initiation Protocol 임형준(hyungjun 25@cnu. ac. kr) 충남대학교 컴퓨터공학과 데이터베이스 시스템 연구실 2022년 1월 16일 일요일 Database System Laboratory Seminar
목차 Session Initiation Protocol n SIP에 대한 설명 SIP의 SIP의 n 원리 개요 특징 주소 체계 메시지 구성 요소 구조 SIP의 활용 가능성 부분 Chungnam National University Computer Science and Engineering Database System Laboratory 2
Session Initiation Protocol SIP의 원리 n Signaling Protocol 역할 n Session Advertise Protocol (SAP)로 세션에 대한 정보를 관심 이 있는 그룹에 제공 Session Initiation Protocol (SIP)를 통해 대화를 원하는 상대가 세션에 참가하도록 초대 (INVITE) Session Description Protocol (SDP)를 통해 열고자 하는 Media Type에 대한 정보를 교환 n n Chungnam National University Computer Science and Engineering Database System Laboratory 3
SIP의 개요 Session Initiation Protocol n Session Initiation Protocol (세션 설정 프로토콜) 인터넷상의 실시간 멀티미디어 서비스 프로토콜 Media Transport Protocol Quality-of-Service Related Protocol Peer-to-Peer Signaling Protocol n IETF (Internet Engineering Task Force)의 MMUSIC (Multiparty Multimedia Session Control)에 의해 제안 IP-based Networking HTTP (Hyper Text Transfer Protocol)와 같은 Client/Server 구조 n 멀티미디어 세션 설정, 수정, 종료를 위해 사용 n 하위 계층 전송 프로토콜 (TCP, UDP, ATM, X. 25)과 독립적 Chungnam National University Computer Science and Engineering Database System Laboratory 4
SIP의 특징 Session Initiation Protocol n HTTP의 ASCII 텍스트 기반 프로토콜 URIs (Uniform Resource Indicators) 사용 E-mail 형태의 주소인 SIP-URI 이용해 사용자를 식별 Ex) sip: hj. Yim@dblab. cnu. ac. kr n Personal (Session) Mobility 제공 사용자 이동성 제공 동일한 SIP 주소, 다른 위치 (단말)에서 연결 현재 사용자의 위치 등록, 수정, 삭제, 검색 기능 Chungnam National University Computer Science and Engineering Database System Laboratory 5
SIP의 주소 체계 Session Initiation Protocol n SIP URI (Uniform Resource Indicators) SIP를 통해 다른 사용자와 통화하는 SIP 주소 지정 스키마 전자 메일 (E-mail) 주소와 유사한 형식 n SIP URI 형식 Protocol Prefix: user. ID@host (Domain or IP) Ex) Domain - sip: hj. Yim@dblab. cnu. ac. kr Ex) IP – sip: hj. Yim@168. 188. 46. 34 Protocol Prefix: 전화번호@dblab. cnu. ac. kr (Domain or IP); user=phone Ex) Domain – sip: 0428217721@dblab. cnu. ac. kr; user=phone Ex) IP – sip: 0428217721@168. 188. 46. 34 Authentication Ex) sip: hj. Yim; passwd=dblab@dblab. cnu. ac. kr Chungnam National University Computer Science and Engineering Database System Laboratory 6
Session Initiation Protocol SIP의 동작과정 Alice John INVITE 180 Ringing 200 OK ACK Media Session BYE 200 OK Chungnam National University Computer Science and Engineering Database System Laboratory 7
SIP Method/Request & Response Session Initiation Protocol n SIP Method/Request INVITE – 세션 연결 ACK – INVITE 요청 확인 BYE – 세션 종료 CANCEL – 세션 연결 취소 REGISTER – 사용자 위치(호스트 이름, IP)를 등록 OPTIONS – 상대 노드의 Capability (지원하는 헤더, 파라미터 등) n SIP Response 1 xx 2 xx 3 xx 4 xx 5 xx 6 xx – – – 정보 성공 경로 요청 서버 전체 Chungnam National University Computer Science and Engineering Database System Laboratory 응답 응답 변경 실패 오류 실패 (Informational) (Success) 응답 (Redirection) (Client Error) (Server Error) (Global Failure) 8
Session Initiation Protocol SIP Message Format SIP Message Methods – Start Line, Request ID, SIP Version Header – Path, Sender, Receiver Address, Context Information Blank Line – Boundary Message Body - Content - Communication Attribute Value Chungnam National University Computer Science and Engineering Database System Laboratory 9
Example SIP Message Session Initiation Protocol SIP Message – Request SIP Message – Response INVITE sip: hyungjun 25@dblab. cnu. ac. kr SIP/2. 0 200 OK Via: SIP/2. 0/UDP dblab. cnu. ac. kr; branch=33 Max-Forwards: 70 To: sip: hyungjun 25@dblab. cnu. ac. kr From: sip: 0428217721@dblab. cnu. ac. kr Call-id: sip: hj. Yim@dblab. cnu. ac. kr Cseq: 1 INVITE Contact: sip: dblab@dblab. cnu. ac. kr; branch=33 Max-Forwards: 70 To: sip: hyungjun 25@dblab. cnu. ac. kr From: sip: 0428217721@dblab. cnu. ac. kr Call-id: sip: hj. Yim@dblab. cnu. ac. kr Cseq: 1 200 OK Contact: sip: dblab@dblab. cnu. ac. kr Blank Line – Boundary v=0 o=Alice 26764646 46734 IN IP 4 192. 0. 01 s=Let’s talk about swimming techniques c=IN IP 4 192. 0. 0. 1 t=0 0 m=audio 20000 RTP/AVP 0 a=sendrecv v=0 o=Alice 26764646 46734 IN IP 4 192. 0. 01 s=Let’s talk about swimming techniques c=IN IP 4 192. 0. 0. 1 t=0 0 m=audio 30000 RTP/AVP 0 a=sendrecv Chungnam National University Computer Science and Engineering Database System Laboratory 10
SIP의 구성요소 (2) Session Initiation Protocol n Registrar Server UA들이 REGISTER Method를 통해 SIP 주소와 IP 주소를 등록 Registrar Server는 등록된 정보를 Location Server로 제공 인증 과정을 통해 정당한 사용자인지 구별 n Location Server Proxy Server나 Redirect Server로부터 SIP 콜의 목적지 노드 (실제 사용자의 위치)의 주소가 요청되면 Resolution하는 역할 Chungnam National University Computer Science and Engineering Database System Laboratory 12
Session Initiation Protocol SIP의 구조 – Proxy Server User Agent Client Chungnam National University Computer Science and Engineering Database System Laboratory 13
Session Initiation Protocol SIP의 구조 – Redirect Server User Agent Client Chungnam National University Computer Science and Engineering Database System Laboratory 14
Chungnam National University Computer Science and Engineering Database System Laboratory SIP의 활용 가능성 Database System Laboratory Seminar
Personal Mobility SIP uses email-style addresses to identify users Session Initiation Protocol n Proxy Server Chungnam National University Computer Science and Engineering Database System Laboratory 16
Session Initiation Protocol Peer-to-Peer Chungnam National University Computer Science and Engineering Database System Laboratory 17
Session Initiation Protocol Outbound Proxy Chungnam National University Computer Science and Engineering Database System Laboratory 18
Session Initiation Protocol SIP Request Forking Chungnam National University Computer Science and Engineering Database System Laboratory 19
Event Notification (RFC 3265) n Session Initiation Protocol n n To obtain the status of a given resource To track changes in that status E. g. online, offline Alice SUBSCRIBE Event: message-summary Alice’s Voicemail 200 OK NOTIFY Message-Waiting: yes Message-Account: sip: alice@vmail. example. com Voice-Message: 2/8 (0/2) 200 OK Chungnam National University Computer Science and Engineering Database System Laboratory 20
- Slides: 20