Nexpert SIP 3 - SIP method on RFC 3261

From 탱이의 잡동사니
Jump to navigation Jump to search

Overview

원문은 이곳<ref>http://www.nexpert.net/491</ref>에서 확인할 수 있다.

SIP 호 절차를 이해하기 위해서는 SIP 메시지에 포함된 SIP 헤더를 잘 알아야 한다. SIP 헤더에 대한 기본적인 내용만 알고 있어도 쉽게 호 절차를 분석할 수 있다. 특히, 이기종 장비간 SIP Trunk 연동이나 단말 연동 시 장애가 발생할 경우에 SIP 패킷을 수집하여 분석하는 과정을 거치게 된다. SIP 헤더를 알지 못하면, 수집된 패킷은 암호문일 뿐이다.

SIP 주소 체계

PSTN 전화망은 E.164 주소 체계를 사용하고, 인터넷 망은 IP 주소 체계를 사용한다. E.164 주소 체계는 사람이 인식하기 쉬운 주소지만, IP 주소 체계는 어렵다.

SIP에서의 통화를 위한 주소 체계는 다양한 형식의 주소 방식을 지원한다.

  • FQDN(Fully-Qualified Domain Names)
인터넷 서핑을 할 때 웹브라우저에 입력하는 도메인 주소 체계이다. 도메인의 앞 자리에 사용자명 또는 단말기명을 붙여서 사용한다.
ex) sip:bob.cisco.com
  • SMTP 와 같은 Domain Names (RFC 2368)
메일 주소와 같은 방식을 사용한다.
ex) sip:bob@cisco.com
  • E.164 와 같은 주소
사용자 이름 부분에 전화번호를 넣어서 사용한다.
ex) sip:14085551234@gateway.com; user=home

주요 SIP Header 분석

일반적으로 SI 헤더에 포함되는 정보는 다음과 같다.

 INVITE sip:bob@biloxi.com SIP/2.0
 Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776asdhds
 Max-Forwards: 70
 To: Bob <sip:bob@biloxi.com>
 From: Alice <sip:alice@atlanta.com>;tag=1928301774
 Call-ID: a84b4c76e66710@pc33.atlanta.com 
 CSeq: 314159 INVITE
 Contact: <sip:alice@pc33.atlanta.com>
 Content-Type: application/sdp
 Content-Length: 142

SIP 헤더의 내용을 대충 이해할 수만 있어도 위의 메시지가 엘리스가 밥에게 보내는 SIP INVITE 메시지로 통화 요청을 위해 생성되었음을 알 수 있다.

메시지의 첫 줄에는 Method 와 메시지를 수신하는 최종 단말의 주소와 버전이 명기되므로 메시지가 생성된 목적을 확인할 수 있다.
INVITE : 요청한 메소드
sip:bob@biloxi.com : Request URI
SIP2.0 : 버전
Request URI 는 일반적으로 To 필드의 URI 값을 이요하여 표시한다.
이 내용은 Biloxi.com 도메인에 속해 있는 밥에게 전화를 걸고 싶다는 의미이다.
  • Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776asdhds
Via 헤더는 요청에 대한 응답의 경로를 나타낸다. branch 는 시공간에서 유일한 값을 가지며, 트랜젝션 식별자이다. 트랜젝션은 호 설정 또는 호 종료와 같은 단위 작업을 의미하며, User Agent 간에 생성된다.
이 내용은 SIP INVITE 요청에 대한 응답인 200 OK 를 엘리스에게 바로 전송하지 말고 pc33.atlanta.com 을 경유할 것을 요청한다는 의미이다.
  • Max-Forwards: 70
시그널링 경로 상에 SIP 서버의 최대 홉 수를 나타낸다. IP 네트워크의 TTL(Time to live) 과 같다.

Reference

<references/>