라인하트님의 SIP의 이해 연재를 모아서 책으로 만들었습니다.
아직 연재가 완료되지 않아서 일단 된 부분만 책으로 만들었습니다.
A5 혹은 B5에 출력해서 보시면 핸드북 처럼 만들어 읽으실 수 있습니다.

오탈자 수정본

또 디자인을 하는 지인의 도움으로 NExpert.net의 로고를 선물 받았습니다.
그래서 이번에 책에 삽입도 하고 처음으로 공개 합니다.

저작자 표시 비영리 변경 금지
신고
Posted by 허클베리 핀

댓글을 달아 주세요

  1. 이전 댓글 더보기
  2. 안근탁 2011.06.22 11:49 신고  댓글주소  수정/삭제  댓글쓰기

    좋은 자료 감사드립니다~~

  3. 김지만 2011.06.29 17:49 신고  댓글주소  수정/삭제  댓글쓰기

    이제 막 네트워크 개발 쪽에 발을 내딘 초보 입니다.
    다름이 아니라 간단한걸 물어보고 싶습니다.
    서로 단말간의 앨리스가 인바이트 메시지를 밥에게 전달하면
    100이라는 트라잉메시지가 오게되고 밥은 이제 180ringing이랑 200OK메시지를 보내잖아요
    근데 여기서 180ringing 이 먼저 가고 나서 그 후에 200OK메시지가 가나요?
    아니면 동시에 180ringing이랑 200OK메시지랑 같이 한꺼번에 포함되서 가나요?
    그리고 또한가지 패킷 분석하다가 보면 requset : register 라는 부분이 있는데요(wireshark로 봤을때)
    이 메시지가 있는 이유가 뭔지좀 알려주실수있나요? 저의 개인적으로 봤을때 레지스터가 등록한다는 의미잖아요? 그래서 사용자 위치를? 등록하여서 다른곳으로 이동했을때 자연스럽게 이어주는건가요? 쉽게 말해서 핸드-off? 이내용을 담고있는거죠? 질문이 좀 많습니다. 여기 사이트의 sip이해를 보고 정말 대단하다는 생각입니다 이런자료를 정리하려면 대체 얼마나...후 정말 좋은거 많이 배우고 있습니다.. 귀찮은 질문이지만 답변좀 부탁드립니다. 좋은 자료 정말 감사합니다

    • Favicon of http://www.nexpert.net BlogIcon 라인하트 2011.06.29 18:15 신고  댓글주소  수정/삭제

      180 ringing은 착신 전화기가 수신 대기중이며 링을 울리고 있다는 의미이며, 200 OK는 착신전화기의 수화기를 들어 통화가 가능함을 의미합니다.

      register는 등록 요청 메쏘드입니다. 예를 들면, 우리느 전화번호로 통화를 시도하지만, Network의 주소 체계는 IP 주소이므로, 자신의 IP 주소와 전화번호를 SI Proxy에 등록하는 것입니다. 답변이 맞는 지 애매하군요

    • 김지만 2011.06.30 09:37 신고  댓글주소  수정/삭제

      아 그러면 결국 따로 오는거로 봐야되는군요 ^^
      오~ 감사합니다 ㅎㅎ
      좋은답변 되었습니다ㅋ

  4. 김지만 2011.06.29 17:52 신고  댓글주소  수정/삭제  댓글쓰기

    아 한가지만 더물어보겠습니다 죄송합니다. 이제 대학교 4학년이라 궁금한게 너무 많네요 ㅠ

    STP , SDP , RTP , RTCP 이 4가지를 wireshark 어떻게 인식하고 구분해야 하는지 좀 알려주세요

    쉽게 보려고 하는데 .. 너무나 많은 메시지 헤더에...이래저래 내용이 많네요 ...

    혹시 이걸 보면 그래도 아 이건 이 메시지구나 하는걸 아는것처럼

    좀 쉽게 보는 법이 있을까요? 차근차근 공부중인데 밥과 엘리스의 단말간의 통화 그림을 보고

    wireshark로 분석하던중 이렇게 보고 어려워서 글을 올립니다.. 죄송합니다

    • Favicon of http://www.nexpert.net BlogIcon 라인하트 2011.06.29 18:10 신고  댓글주소  수정/삭제

      Wireshark의 Filtering 기능을 이용하여 원하는 메세지만 분리해서 보세요.

    • Favicon of http://www.nexpert.net BlogIcon 라인하트 2011.06.29 18:17 신고  댓글주소  수정/삭제

      하하.. 학생이시군요..

      저에게 wireshartk 매뉴얼이 있습니다. 저에게 메일주시면 드릴께요...^^

    • 김지만 2011.06.30 09:40 신고  댓글주소  수정/삭제

      jiman76@naver.com

      부탁드립니다^^;;

      좋은 답변 감사합니다 ^^ 아직 학생이지요...

      이 분야 뭐이리 어려운지 한숨만 나오네요 ㅠ..

      그리고 ~패킷분석은..한숨만 나오네요 ㅠ흑흑..ㅎ

    • Favicon of http://blog.naver.com/sdg87 BlogIcon 신대규 2014.06.24 16:59 신고  댓글주소  수정/삭제

      wireshark 메뉴얼 부탁드립니다.
      sdg87@naver.com
      이제 갓 voip를 공부하고 있는 신입사원입니다.!

    • BlogIcon 인프 2014.09.30 21:31 신고  댓글주소  수정/삭제

      wireshark 매뉴얼 저도 좀 받을 수 있을까요?ㅜㅜ 공부중인 3학년 학생입니다. ppop91@naver.com 여기로 부탁드릴게요ㅠㅠ

    • 이종우 2016.08.23 15:06 신고  댓글주소  수정/삭제

      SIP 에 대한 좋은 자료를 찾은 것 같습니다. 글 정말 도움이 많이 됩니다.
      그리고...
      wireshark 메뉴얼좀 부탁드립니다.
      메일 주소는
      starseat3@daum.net 입니다.

  5. 최규선 2011.07.05 17:08 신고  댓글주소  수정/삭제  댓글쓰기

    좋은자료 감사합니다...

  6. 김지만 2011.07.05 17:14 신고  댓글주소  수정/삭제  댓글쓰기

    sip를 조금씩 이해하고 있습니다 라인하트님^^ 다름이 아니고 질문이 생겨서 글을 올립니다.
    제가 회사에서 와이어샤크로 070 사무실 전화기로 패킷을 떠봤는데요.
    아이피주소로 필터링해서 봤더니 인바이트 초대메시지 전에 레지스터하고 200OK를 하더라고요 2번이나
    물론 등록하고 200OK로 REgister가 이루어진다는거 알고있습니다. 그런데 궁금한게 이 레지스터 등록은
    전화 DIGIT을 할때마다 매번 등록되나요? 그니까 매번 통화버튼을 누르면 그게 게속 레지스터 등록이 나오는지가 궁금하네요.
    또 한가지 더 궁금한게 미디어 세션이 이루어지면 ACK와 BYE 200OK 메시지도 프록시 서버를 거쳐서 가야되는게 아닌가요? 여기서는 그냥 한번에 수신자한테 전달이 되니까 그게 또 궁금하게 되네요..
    좀 난해한질문이지만 부탁드릴게요!

    • Favicon of http://www.nexpert.net BlogIcon 라인하트 2011.07.05 20:54 신고  댓글주소  수정/삭제

      김지만님... 질문이 앞으로도 많으실 듯 한데
      CCIE Voice 및 UC Forum에 가입하셔서 질문하세요 UC Forum에는 SIP 개발자가 많아서 직접적인 도움을 줄수 있을 것입니다.

    • Favicon of http://www.nexpert.net BlogIcon 라인하트 2011.07.05 20:58 신고  댓글주소  수정/삭제

      Register는 한 번 만 하는 것이 아니라 Expire Time이 되기 전에 지속적으로 시도합니다 SIP의 이해의 Registration 메쏘드 부분을 이해하시기 바랍니다.

      메세지가 Proxy 서버를 지나게 되면, SIP Proxy는 일반적으로 Via 메세지를 필드를 추가합니다. 따라서,Request에 대한 응답은 Via 필드를 참조하며, 신규요청은 Contact을 참조하여 전달됩니다 .

  7. 김지만 2011.08.05 18:09 신고  댓글주소  수정/삭제  댓글쓰기

    라인하트님 제가 아직 이해가 안됬씁니다. 조금 도와주시면 하는 부분이 있습니다. 제가 Wire Shark로 캡쳐하다가 패킷 플로우 분석중에 REGISTER랑 SUBSCRIBE 이 두 메쏘드 때문에 좀 햇갈리는 부분이 있는데요 맨처음에 레지스터가 등록을 요청하면 응답으로 UNATURIZED가 옵니다 그러고 나서 다시 등록을 요청하면 200OK 응답이 옵니다 그런데 중간데 SUBSCRIBE(NOTIFY)가 왔다갔다 하는데 이 후에 레지스터를 또 등록을 하더라고요~ 그런데 Call -idㄱㅏ 같은 부분은 이해를 하겠습니다만 왜 또 굳이 레지스터등록을 하는지가 궁금합니다. 뭐하는데 쓰이고 어떤 메시지가 왔다갔다 하는지 세션이 어떻게 관리되는지에 대한 답변의 도움을 요청합니다 SIP 이해를 보면서 하는데도 좀 어렵네요 ..두 메쏘드 간에 어떤 관계가 있나요?

  8. 김지만 2011.08.09 18:40 신고  댓글주소  수정/삭제  댓글쓰기

    라인하트님 ~바쁘신가요 질문을 다시한번 새롭게 올려보겠습니다.

    제가 SUBSCRIBE와 NOTIFY를 패킷으로 캡쳐해봤는데요

    인터넷무선전화기를 처음에 꺼놓고 캡쳐를 시작합니다.

    처음에는 레지스터를 요청하면 답변으로 401이 옵니다.그리고 다시 레지스터를 요청하면

    200OK메시지를 주고 나서 SUBSCRIBE메시지가 옵니다 이때가 언제냐면 이제 제가 전호ㅏ기 전화를

    키고 이 전화기가 저희 사무실 무선와이파이를 잡는 과정입니다. 그러면 200OK가 오고

    그상태를 확인해주는 NOTIFY가 오면서 다시 200OK를 줍니다.그리고 이제 여기서 전화기 전원을 OFF합니다.

    그러면 SUBSCRIBE메시지가 전달됩니다 . expire가 0 인 상태로 종료되면 상태는 terminated로 되는데요

    그래서 이에 대한 답변으로 200OK가 오고 NOTIFY도 옵니다.


    여기서 질문!! NOTIFY가 오고나서 레지스터 등록을 왜 다시 요청 하는지가 궁금합니다.위에서 레지스터

    등록을 했는데 굳이 전화기 전원을 껏다고 200ok 메시지와 NOTIFY가 오는데 이 다음과정이 레지스터

    등록 요청을 다시하는지가 궁금합니다 요ㅕ청하고 200OK오고 마지막은 200OK다시 주고


    위에 레지스터는 call id가 처음 레지스터 요청했을시와 call id가 같고

    마지막 200OK 주는 call id는 SUBSCRIBE와 NOTIFY 간에 있는 Call id와 같습니다.



    결론은 왜 굳이 중간에 레지스터 요청등록을 왜 하는지가 궁금하네요 ...좀 알려주세요 ㅠ

    • 두시이십분 2011.09.07 15:34 신고  댓글주소  수정/삭제

      제가 답변을 드려도 되는지 모르겠네요. 그것도 한달이나 지난 글에 ㅡㅡ;;
      Register가 오면 Proxy에서는 사용자가 정상적인 사용자인지 알수가 없기 때문에 Proxy에서는 401이나 407을 보내서 인증이 필요하다고 요청을 합니다. 그럼 사용자는 자신의 키값으로 인증하여 Register를 보내게 되고 서버는 사용자 인증이 끝나면 200 OK를 보내줍니다.

      그리고 Subscribe 메시지는 아마도 Presence 서버등에 전화기의 현재 상태를 등록하는 과정일껍니다. 그리고 서버에서 Notify 메시시가 옵니다. Subscibe나 Notify는 블로그에 설명이 있던데 그걸 보셔도 될것 같습니다.

      그리고 Register 등록을 했는데 expire 0로 다시 등록을 하는지 물어보셨는데 expire 0는 내가 등록을 해지하겠다고 Proxy서버에 알려주는 겁니다. 만약 전화기 전원을 OFF 한 상태에서 다른 사람이 전화를 한다면 Proxy에서 바로 4XX 에러메시지로 응답하겠죠. 등록 해지를 안했다면 Proxy서버에서 전화기에 Invite 메시지를 계속 보내게 됩니다. 물론 expire 시간이 넘어가면 Proxy에서는 알아서 등록을 해지하지만 종료시 expire 0 Register 메시지를 보내주는게 정상적인 종료 절차입니다.

  9. Favicon of http://www.nexpert.net BlogIcon 라인하트 2011.08.09 20:08 신고  댓글주소  수정/삭제  댓글쓰기

    훔...이거 장난 아닌데요.. 질문의 요점을 잘 이해가.....
    먼저 캡쳐한 내용을 Call Flow로 보내주세요.. Wireshark에서 가능합니다.
    CCIEV Forum (블로그 상단)에 가입하시고, 그룹스로 메일보내시면 저에게 전달됩니다.

    먼저 주어진 내용에 대해 유추해 봅시다
    REGISTER 메쏘드에 대해 401 Response 는 REGISTRA 서버가 응답한 것으로 인증에 필요한 헤더를 포함하라는 의미 입니다. 이에 다음 REGISTER 메세지에 그 내용이 포함되었기에 200 OK가 나옵니다.

    SIP의 이해 책에는 포함되지 않았으나 SIP Security (상)에 자세히 나와 있으니 참조하세요
    전원을 종료하시게 되면, 더이상 유효하지 않은 active 상태를 전달하기 위해 보내집니다. 이것은 SIP의 이해 8편에 자세히 나와 있으니 참조하세요

    모든 메쏘드는 요청과 응답으로 이루어집니다. 이것이 완결되지 않으면, 하나의 다이얼로그가 완성되지 못하여 자동으로 취소되는 것입니다.

    여기서 Register 메세지는 유효기간 내에 보내지는 것입니다. 중간이라함은 어디를 말하는 건지 모르겠네요...
    ^^

    훔.. 질문이 기니 답변도 길군요...

  10. SIP초보 2011.09.19 14:57 신고  댓글주소  수정/삭제  댓글쓰기

    안녕하세요, SIP구성 관련 질문이 있습니다.

    크게 두개의 트래픽이 있다고 하셨는데요, signal과 media인데, media는 굳이 서버를 거치지 않고 바로 단말기 끼리 1:1로 통신 하는 것으로 이해 했습니다.

    그런데 어디선가 media stream자체도 서버가 중간에 처리를 해서 각 client로 전송을 해주는 방식도 있다고 들었습니다.

    이런 경우도 있나요? 만약 있다면, 왜 굳이 media stream을 서버에서 처리하는 것일까요?

    • Favicon of http://www.nexpert.net BlogIcon 라인하트 2011.09.19 16:32 신고  댓글주소  수정/삭제

      다양한 경우에 발생합니다. MoH 서버에서 음성을 내보낼 떄도 발생하구요.. Topolody Hiding 또는 NAT Traversal을 위해 이용하기도 합니다. 일반적으로 서버의 부하를 줄이기 위해 이떄에도 별도의 Media Termination Point 를 두기도 합니다.

  11. SIP초보 2011.09.20 13:41 신고  댓글주소  수정/삭제  댓글쓰기

    답변 감사합니다.~!^^

    아직 어려운 용어는 아직 잘 이해하지 못했는데, 어느정도 알 것 같습니다.

    "일반적으로 서버의 부하를 줄이기 위해 이떄에도 별도의 Media Termination Point 를 두기도 합니다."

    이 말이 잘 이해가 안되는데..^^;..좀 쉽게 설명해주실 수 있나요??

    그리고, 그런데 RTP stream이 단말 to 단말로 전송되지 않고 중간에 서버를 거치게 되면, 서버가 많은 부하를 가지게 되는 것이 아닌가요?

    음 지식이 미천하지 질문이 정리가 안되네요..^^;

    • Favicon of http://www.nexpert.net BlogIcon 라인하트 2011.09.20 14:54 신고  댓글주소  수정/삭제

      MTP는 말 그대로 RTP Media를 종단하는 것입니다. RTP 스트림을 특정한 곳을 경유하도록 하기위해 사용합니다. 일반적으로 SIP Proxy Server는 시그널링을 처리합니다.

      시스코의 경유 IP to IP Gateway (ISR 라우터) 에 MTP를 설정하여 미디어의 흐름을 제어합니다. 당연히 초당 33개의 패킷이 서버로 향한다면 트래픽을 처리하는 데만 CPU를 사용해야 할 것입니다.

  12. 강태원 2012.02.27 15:26 신고  댓글주소  수정/삭제  댓글쓰기

    천금같이 소중한 자료 정말정말 감사드립니다.
    VoIP 공부하는데 정말 뼈와 살이 되고 있습니다.

    • 라인하트 2012.02.27 22:47 신고  댓글주소  수정/삭제

      이렇게 칭찬을 해주시니..
      열심히 자료를 올려야 겠네요..
      요즘 너무 바빠서.. 글을 거의 올리지 못하고 있는 데..

      힘이됩니다. ^^

  13. 최원교 2013.06.27 13:04 신고  댓글주소  수정/삭제  댓글쓰기

    오늘부터 정독 시작해야겠네요 ^^
    좋은 자료 공유 감사합니다

  14. 럭키가이 2014.01.06 17:39 신고  댓글주소  수정/삭제  댓글쓰기

    좋은자료 감사드립니다. 열공합니다^^!

  15. 2014.05.21 14:25  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

  16. 방랑자 2014.06.02 19:10 신고  댓글주소  수정/삭제  댓글쓰기

    책으로 냈다고 하셨는데
    pdf파일 말고 책 구입도 가능한가요 ?

  17. 방랑자 2014.06.03 17:20 신고  댓글주소  수정/삭제  댓글쓰기

    아 ㅎㅎ;;
    전 혹시 서점이런데서 실제 책으로 구입할수있나해서여 ㅎㅎ

  18. 방랑자 2014.06.05 10:09 신고  댓글주소  수정/삭제  댓글쓰기

    sip의 이해 잘 읽고있습니다.
    궁금한게 생겼는데요.
    와이어샤크로 voip 덤프를 통해서 sip를 보고있는데요.
    uac가 invite 메세지를 sdp와 함께 날리고 uas가 그거에 대한 응답을 183 메시지와 sdp를 함께 날리더라구요.. 그리고 rtp패킷이 와따가따하고.. 그후 중간에 invite에 대한 200 ok를 날리네요..
    제가 책에서 보기론 invite에 대한 200 ok와 ack가 주고 받아야지만 세션이 생성되는걸로 알고있거든요.. 그리고 세션생성후 rtp패킷이 전송되는걸로 확인했구요..
    근데 이번경우 와이어샤크에서 183 Session Description 라는 info로 나타나있더라구요..
    early mode면 prack을 써야되는데 prack도 보이지않고요..
    혹시 이거에 대해 아시는지요 ㅎㅎ?

    • Favicon of http://www.nexpert.net BlogIcon 라인하트 2014.06.09 06:19 신고  댓글주소  수정/삭제

      early offer가 진행되어 early media가 열리는 것입니다. Invite에 대한 200 OK와 ACK로 세션이 설립되면, 양방향 미디어가 열리는 것이 보통입니다만, 180 또는 183에 Answer가 이루어지는 이유는 링백톤을 200 OK 전에 송신해야 하므로 만들어 집니다.

  19. 방랑자 2014.06.09 09:16 신고  댓글주소  수정/삭제  댓글쓰기

    답변 감사합니다.
    전 early mode 구별하는 방법이 content-disposition:early-session 이라고 명시되어있거나
    prack을 사용하면 early 모드라고 알고있는데요..

    이번 경우는 그런게 아닌데 183메시지 다음에 rtp 패킷이 전송되는것을 보고 early mode로 인식하면 되는 건지요 ?

    • Favicon of http://www.nexpert.net BlogIcon 라인하트 2014.06.09 09:45 신고  댓글주소  수정/삭제

      안녕하세요.. 방랑자님.. 질문에 대한 답변은 www.nexpert.net/146 번 글의 마지막 부분에 "Offer / Answer and PRACK" 단락에 자세히 나와 있습니다.

      SIP / SDP는 Offer /Answer 모델입니다.
      Early Offer는 Invite with SDP 이고, Delay Offer는 Invite without SDP입니다. 지금까지 말씀하신 경우는 Invite with SDP의 경우인 Early Offer상에서 Early Media를 여는 것이므로 문제가 없습니다. 문제는 Delay Offer 상에서 Early Media를 여는 것입니다. 이때에는 말씀하신 대로 PRACK이 있어야 200 OK이전에 미디어 세션을 설립할 수 있겠죠. 와이어샤크로 뜬 경우는 Early Offer 상황입니다.

  20. 방랑자 2014.06.09 13:37 신고  댓글주소  수정/삭제  댓글쓰기

    아... 이제 이해가 되네요 .
    제가 와이어샤크 덤프파일 본것은 전부 invite with sdp였네요.. 결국 Early offer만 보고 있었어요.
    Early offer 모드니까 200 ok가 오기전에 세션을 열어서 rtp를 전송하는게 문제가 없는거였군요.

    감사합니다 ㅎㅎ 덕분에 이해가 됬습니다.!

  21. sip 2015.04.22 09:55 신고  댓글주소  수정/삭제  댓글쓰기

    좋은자료 감사히 잘보았습니다. 좋은하루되십시요



티스토리 툴바