brunch

You can make anything
by writing

C.S.Lewis

by 라인하트 Dec 17. 2018

16장. SDP Offer의 두 가지 방법

1. SDP의 협상 방식

SDP는 단말 간의 멀티미디어 세션과 관련된 미디어 타입 및 포맷을 협상하는 프로토콜이며 제안 및 수락 (Offer & Answer) 모델로 동작합니다. SDP는 단독으로 전달될 수 없으며 SIP 메시지 바디에 포함되어 협상합니다.  SDP Offer가 어떤 SIP 메시지에서 전달되느냐에 따라 협상 방식을 두 가지로 정의합니다.


       

1) Early Offer

SDP Early OFfer는 SIP INVITE 메시지와 SDP Offer를 함께 전달하는 방식입니다. SDP Answer는 200 OK 나 180 Ringing과 함께 전달합니다. Early Offer는 발신자가 SDP 협상의 주도권을 갖습니다. 대부분의 장비들이 Early Offer를 사용합니다.  


<그림 16-1> SDP 협상 - Early Offer


2) Delayed Offer

SDP Delayed Offer는 INVITE 메시지에 SDP Offer를 전달하지 않고 180 Ringing이나 200 OK에 SDP Offer를 전달하는 방식입니다. SDP Answer는 ACK와 함께 전달합니다. Delayed Offer는 수신자가 SDP 협상의 주도권을 갖습니다. 시스코 제품들은 Delayed Offer를 사용합니다.


<그림 16-2> SDP 협상 - Delayed Offer


3) 비교

IETF RFC 권고안은 두 가지 협상 방식을 모두 정의합니다. Early Offer는 미디어 채널의 협상이 빠릅니다. 200 OK 응답 이전에 미디어 채널 협상을 완료하여 사용하고자 할 때 유용합니다. Delayed Offer는 코덱 협상이 확실합니다. 수신자의 Capability를 확인 후에 협상을 완료할 수 있으므로 Capability 재협상이 수행되지 않습니다.   



2. 미디어 클리핑과 링백톤의 문제    

SDP Early Offer 상황에서 Capability Exchange (코덱 협상) 과정과 미디어 교환 과정을 생각해 봅시다.  


<그림 16-3> SDP Early Offer 협상 과정


앨리스는 수화기를 들고 다이얼링을 완료하자마자, 전화기는 INVITE 메시지와 함께 SDP Offer를 송신합니다. 엘리스의 전화기가 지원하는 코덱은 G.711과 G.729입니다. 밥의 전화기는 벨을 울리면서 앨리스의 전화기에게 180 Ringing으로 통지합니다. 앨리스의 전화기는 앨리스에게 링백톤(Ringback Tone)을 재생합니다. 밥이 수화기를 드는 순간 200 OK 메시지와 함께 SDP Answer가 엘리스의 전화기로 송신됩니다. 200 OK를 받은 엘리스의 전화기는 ACK를 밥에게 송신하면서 통화가 시작됩니다.


우리가 생각하는 전화 통화 과정입니다. 보통 사람들은 수화기를 들자마자 "여보세요" 또는 "Hello"라고 말합니다. 앨리스가 밥의 첫 단어를 정확하게 듣기 위해서는 미디어 채널이 말하기 이전에 개방되어야 합니다. 정확한 시점은 SDP 협상이 완료되는 200 OK 및 ACK 이후입니다. 현실적으로 미디어 채널이 개방되는 시점으로 인해 두 가지 문제가 발생합니다.

        

1) 원격 링백톤(Remote Ringback) 문제

180 Ringing 메시지를 전달받은 엘리스의 전화기는 링백톤을 재생해야 합니다. 앨리스의 전화기는 미디어 채널 협상이 완료되지 않은 시점이므로 자체적으로 Local Ringback tone을 재생합니다. 즉, 미디어 채널이 개방되지 않아도 전화기가 "드르륵드르륵" 소리를 만들어 주면 발신자는 통화가 정상적으로 이루진 다고 생각합니다. 그러나, 우리는 컬러링이나 착신 측이 보내주는 Remote Ringback Tone (링백톤)을 사용합니다. 발신자인 앨리스가 최신 음악의 컬러링을 듣게 하기 위해서는 미디어 채널 협상이 180 Ringing 이전에 끝나야 합니다.



2) 미디어 클리핑 (Media Clipping) 문제

사람들은 수화기를 들자마자 "여보세요"라고 말하지만, ACK를 수신하기 전까지 미디어 채널은 개방되지 않습니다. 또한, SIP 시그널링은 다수의 SIP Proxy를 거치지만 음성을 전달하는 RTP는 전화기와 전화기 간에 최단 경로를 이용합니다. RTP가 SIP 시그널링보다 더 빨리 전달될 가능성이 높기 때문에 Media Clipping이 발생할 가능성은 높습니다. Media Clipping이란 밥의 "여보세요"가 엘리스에게는 "보세요"라고 들리는 것처럼 선두음이 잘리는 현상입니다.  



3. 해결책

인터넷을 이용한 전화는 원격 링백톤과 미디어 클리핑 문제는 반드시 해결해야 합니다. 어떻게 해결할 수 있는 지를 생각해 보겠습니다.


미디어 클리핑(Media Clipping) 문제를 해결하기 위해서는 SDP Early Offer 협상으로 필요합니다. UAC (발신자)가 SDP Offer를 전송하자마자 수신되는 미디어 패킷을 재생할 준비를 하기 때문입니다.
 

컬러링과 원격 링백톤 문제를 해결하기 위해서는 180 Ringing 이전에 SDP Offer와 SDP Answer 협상을 완료하고 미디어 채널을 개방해야 합니다. 지금까지 살펴본 SIP 호 절차를 활용한 SDP 협상은 미디어 채널을 더 일찍 개방할 수 없습니다. 미디어 채널 협상을 더 일찍 완료하기 위한 새로운 SIP 메쏘드를 고민해야 해야 합니다.


'엔지니어를 위한 인터넷 전화와 SIP의 이해'를 책으로 만들다


https://brunch.co.kr/@linecard/188


매거진의 이전글 15장. SDP 개요

작품 선택

키워드 선택 0 / 3 0

댓글여부

afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari