SDP คืออะไร มีความสำคัญกับ VoIP อย่างไร

บทความดีๆที่จะทำให้เข้าใจ VoIP มากยิ่งขึ้น

Moderator: jubjang

SDP คืออะไร มีความสำคัญกับ VoIP อย่างไร

โพสต์โดย voip4share » 01 ก.พ. 2010 11:49

SDP ย่อมาจาก Session Description Protcol เป็นโปรโตคอลมาตฐานตาม RFC 4566
SDP มีเพื่ออธิบาย multimedia sessons สำหรับจุดประสงค์ในการ session announcement, session invitation และรูปแบบอื่นๆของ multimedia session initiation
SDP ถูกเรียกใช้จาก VoIP Signaling Protocol เช่น SIP, H.323 และบาง VoIP Protocol เพื่อ transfer media setup information เกี่ยวกับ multimedia client จาก A ไป B

SDP จะอยู่ใน SIP Invite Message ดูตัวอย่างต่อไปนี้นะครับ

INVITE sip:6621010000@192.168.5.123:5060;user=phone SIP/2.0..Via: SIP/2.0/UDP 192.168.5.5:5060;branch=z9hG4bK1ca4589054b6666f
2-4f525-0..Max-Forwards: 70..Contact: <sip:66851140000@192.168.5.5:5060>..To: <sip:6621010000@192.168.5.123:5060>..From: <sip
:66851140000@192.168.5.5:5060>;tag=430c6c2-co3249-INS001..Call-ID: 51246cf51886b6a652233787b8c7122c@192.168.5.15..CSeq: 324901
INVITE..Content-Type: application/sdp..Date: Mon, 01 Feb 2010 05:30:26 GMT..User-Agent: ENS2.5.31-IS1-RMRG23-RG100-CPO245..Cont
ent-Length: 304....v=0..o=- 70305474 70305474 IN IP4 192.168.5.5..s=ENSResip..c=IN IP4 192.168.5.20..t=0 0..m=audio 12198 RTP
/AVP 18 8 0 4 2 97..a=fmtp:97 0-15..a=rtpmap:18 G729/8000..a=rtpmap:8 PCMA/8000..a=rtpmap:0 PCMU/8000..a=rtpmap:4 G723/8000..a=
rtpmap:2 G726-32/8000..a=rtpmap:97 telephone-event/8000..a=sendrecv
..

SIP/2.0 183 Session Progress..Via: SIP/2.0/UDP 192.168.5.5:5060;branch=z9hG4bK1ca4589054b666b13-95b51-0..Record-Route: <sip:192.168.5.123:5060;lr>..From: <sip:6622480000@192.168.5.5:5060>;tag=452ede66-co6132-INS001..To: <sip:6621010000@192.168.5.123:
5060>;tag=as3d0e1c30..Call-ID: 84269fbeb806626c47360b37955bb319@192.168.5.15..CSeq: 613201 INVITE..User-Agent: Asterisk PBX..All
ow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY..Supported: replaces..Contact: <sip:6621010000@192.168.5.123:5
060>..Content-Type: application/sdp..Content-Length: 308....v=0..o=root 16003 16003 IN IP4 192.168.5.91..s=session..c=IN IP4 192.168.5.91..t=0 0..m=audio 16964 RTP/AVP 18 0 8 97..a=rtpmap:18 G729/8000..a=fmtp:18 annexb=no..a=rtpmap:0 PCMU/8000..a=rtpmap:
8 PCMA/8000..a=rtpmap:97 telephone-event/8000..a=fmtp:97 0-16..a=silenceSupp:off - - - -..a=ptime:20..a=sendrecv..


ฟิลด์ที่มีเครื่องหมายดอกจันทน์ * เป็นออปชั่นนะครับ มีหรือไม่มีก็ได้

Session description
v= เวอร์ชั่น
o= เจ้าของหรือผู้สร้างและตัวบ่งชี้เซสชั่น
s= ชื่อเซสชั่น
i=* ข้อมูลเซสชั่น
u=* เป็น URI ของ Description
e=* อีเมล์แอดเดรส
p=* เบอร์โทรศัพท์
c=* ข้อมูลการเชื่อมต่อ แต่ไม่ต้องใช้ถ้ามีข้อมูลอยู่ในทุกๆ media แล้ว
b=* ข้อมูลแบนวิดธ์
มี Description เกี่ยวกับเวลาด้วย ดังนี้
z=* ปรับแต่งเวลา time zone
k=* คีย์เข้ารหัส
a=* เป็น 0 หรือมี session attribute เพิ่มเติม

Time description
t= เวลาที่เซสชั่นแอ๊คทีฟ หรือเรียกว่า Session Timer ถ้ามีค่าเป็น 0 คือไม่กำหนดเวลาสูงสุดที่โทรได้ โทรได้ไปเรื่อยๆจนกว่าจะวางสาย ตามปกตินะครับเวลาเราคอนฟิกอุปกรณ์ VoIP จะมีให้ใส่ Session Timer ด้วย ซึ่งเป็นเวลาสูงสุดที่จะโทรได้ในแต่ละครั้ง และในระบบโทรแบบคิดเงิน จะใช้ฟิลด์นี้กำหนดว่าลูกค้าจะโทรได้นานเท่าไหร่ (ตามจำนวนเงินที่เหลืออยู่)
r=* เป็น 0 หรือซ้ำกันหลายๆครั้ง

Media description
m= ชื่อ media เช่น audio, video และหมายเลขพอร์ต RTP
i=* media title
c=* ข้อมูลการเชื่อมต่อ เช่น IP Address
b=* แสดงแบนวิดธ์
k=* คีย์เข้ารหัส
a=* เป็น Codec หรือขนาดแพ็กเก็ตของ Voice

RTP Payload Type Numbers
RTP Payload Type Numbers หรือ PT จะอยู่ในบรรทัด m= และ rtpmap ซึ่งจะบ่งบอก Codec ที่รองรับ ตัวอย่าง RTP Payload Type Number มีดังนี้ครับ

PT=0 G.711 ulaw (PCMU)
PT=3 GSM
PT=4 G.723.1
PT=8 G.711 alaw (PCMA)
PT=9 G.722
PT=18 G.729
PT=31 H.261 (Video)
PT=34 H.263 (Video)
voip4share
Administrator
 
โพสต์: 656
ลงทะเบียนเมื่อ: 18 พ.ย. 2009 11:26
ที่อยู่: รามคำแหง กรุงเทพฯ

ย้อนกลับไปยัง พื้นฐานเกี่ยวกับ VoIP

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และ บุคคลทั่วไป 0 ท่าน