본문 바로가기

SIP의 이해

[연재] 다시쓰는 SIP의 이해 - 19편 Chapter 7. 가끔 보는 SIP Method


Chapter 7. 가끔 보는 SIP Method


4. NOTIFY
NOTIFY는 요청된 이벤트가 발생되었을 경우에 통지하기 위해 사용됩니다. 즉, SUBSCRIBE 메쏘드에 의해 요청된 이벤트 발생 시 통지하거나, REFEER 메쏘드에 의해 진행된 이벤트의 결과를 통지하기 위해 사용합니다. 

여기서는 Subscription (신청)된 단말의 상태 변화를 Subscriber에게 통지하기 위해 Notify를 이용합니다. 



Notifier인 SIP Registrar 서버는 앨리스의 단말들의 등록 상태가 업데이트 될 때마다 NOTIFY 메쏘드로 통지합니다.


  • NOTIFY
    새롭게 나타난 Subscription-State 헤더는 요청된 이벤트가 승인되었음을 표시합니다. Event 헤더는 Subsciber와 동일한 이벤트이여야 합니다. 

    NOTIFY sip:app_IM.atlanta.com SIP/2.0
    Via: SIP/2.0/TCP server1.atlanta.com;branch=z9hG4bKnasaii
    From: sip:server19@atlanta.com ;tag=xyzygg
    To: sip:app_IM.atlanta.com ;tag=123aa9
    Max-Forwards: 70
    Call-ID: 9987@app_IM.atlanta.com
    CSeq: 1288 NOTIFY
    Contact: sip:server19.atlanta.com
    Event: reg
    Subscription-State: active
    Content-Type: application/reginfo+xml
    Content-Length: 223

    <?xml version="1.0"?>
       <reginfo xmlns=
                 "urn:ietf:params:xml:ns:reginfo
                  version="0" state="full">
      <registration aor="sip:alice@atlanta.com"
                  id="a7" state="init" />
    </reginfo>


  • 200 OK
    200 OK는 정확히 수신했음을 표시합니다. 만일 Subsciber에서 요청하지 않은 사용자에 대한 등록 상태 정보가 업데이트 될 경우에는 481 "Subscription does not exist" 로 응답합니다.

    SIP/2.0 200 OK
    Via: SIP/2.0/TCP server19.atlanta.com;branch=z9hG4bKnasaii ;received=10.1.3.1
    From: sip:app_IM.atlanta.com ;tag=123aa9
    To: sip:server19@atlanta.com ;tag=xyzygg
    Call-ID: 9987@app_IM.atlanta.com
    CSeq: 1288 NOTIFY
    Contact: sip:server1.atlanta.com
    Content-Length: 0



Subscription-State 헤더의 정보는 요청된 사용자의 상태 정보가 아닌 요청의 상태정보입니다. 다음과 같이 표시될 수 있으며, 요청된 사용자의 상태정보는 SIP 메세지 바디에 XML로 표시됩니다.  


  • Active  : Subscription은 Accepted 및 Authorized 되었음을 의미 

  • Pending : Notifier가 Subscription을 수령했지만, 불충분한 정책 정보로 인해 승인 또는 거절 여부를 아직 결정하지 못함을 의미 

  • Terminated : Subsription이 종료되었음을 의미, Expires 유효기간이 만료되었을 수도 있으며 반드시 사유가 명기됨



마치며

SIP Subscriber 와 SIP Reffer메쏘드에 의해 요청된 이벤트에 대한 응답은 Notify로 이루어 집니다. 





"다시쓰는 SIP의 이해" 연재의 다른 글  


2015/07/09 - [SIP의 이해] - [연재] 다시쓰는 SIP의 이해 - 22편 Chapter 8. RTP의 이해


2015/07/09 - [SIP의 이해] - [연재] 다시쓰는 SIP의 이해 - 21편 Chapter 7. 가끔 보는 SIP Method


2015/07/08 - [SIP의 이해] - [연재] 다시쓰는 SIP의 이해 - 20편 Chapter 7. 가끔 보는 SIP Method


2015/05/20 - [SIP의 이해] - [연재] 다시쓰는 SIP의 이해 - 19편 Chapter 7. 가끔 보는 SIP Method


2015/05/18 - [SIP의 이해] - [연재] 다시쓰는 SIP의 이해 - 18편 Chapter 7. 가끔 보는 SIP Method


2015/05/07 - [SIP의 이해] - [연재] 다시쓰는 SIP의 이해 - 17편 Chapter 6. SIP Method


2015/02/26 - [SIP의 이해] - [연재] 다시쓰는 SIP의 이해 - 16편 Chapter 6. SIP Method


2015/02/23 - [SIP의 이해] - [연재] 다시쓰는 SIP의 이해 - 15편 Chapter 6. SIP Method


2015/02/11 - [SIP의 이해] - [연재] 다시쓰는 SIP의 이해 - 14편 Chapter 6. SIP Method

2015/01/30 - [SIP의 이해] - [연재] 다시쓰는 SIP의 이해 - 13편 Chaper 5.SDP


2015/01/29 - [SIP의 이해] - [연재] 다시쓰는 SIP의 이해 - 12편 Chapter 5. SDP


2015/01/05 - [SIP의 이해] - [연재] 다시쓰는 SIP의 이해 - 11편 Chapter 5. SDP


2014/12/09 - [SIP의 이해] - [연재] 다시쓰는 SIP의 이해 - 10편 Chapter 4. SIP Response


2014/12/04 - [SIP의 이해] - [연재] 다시쓰는 SIP의 이해 - 9편 Chapter 3. SIP Method on RFC 3261


2014/12/03 - [SIP의 이해] - [연재] 다시쓰는 SIP의 이해 - 8편 Chapter 3. SIP Method on RFC 3261


2014/12/02 - [SIP의 이해] - [연재] 다시쓰는 SIP의 이해 - 7편 Chapter 3. SIP Method on RFC 3261


2014/11/26 - [SIP의 이해] - [연재] 다시쓰는 SIP의 이해 - 6편 Chapter 2. SIP Overview


2014/11/21 - [SIP의 이해] - [연재] 다시쓰는 SIP의 이해 - 5편 Chapter 2. SIP Overview


2014/11/19 - [SIP의 이해] - [연재] 다시쓰는 SIP의 이해 - 4편 Chapter 1. VoIP의 이해 (3)


2014/11/11 - [SIP의 이해] - [연재] 다시쓰는 SIP의 이해 - 3편 Chapter 1. VoIP의 이해 (2)


2014/11/05 - [SIP의 이해] - [연재] 다시쓰는 SIP의 이해 - 2편 Chapter 1. VoIP의 이해 (1)




라인하
트 유씨누스 (CCIEV #18487)
  --------------------------------------
ucwana@gmail.com (라인하트의 구글 이메일) 
http://twitter.com/nexpertnet (넥스퍼트 블로그의 트위터, 최신 업데이트 정보 및 공지 사항) 
http://groups.google.com/group/cciev (시스코 UC를 공부하는 사람들이 모인 구글 구룹스) 
http://groups.google.com/group/ucforum (UC를 공부하는 사람들이 모인 구글 구룹스) 
세상을 이롭게 하는 기술을 지향합니다. ______________________________________________