

 ===============
 = SIP Project =
 ===============





  REPORTED BUG
 ==============

 None.





  NEEDS
 ==============

 - BranchId, FromTag, ToTag, Call Id  Generation rule.
 - OPTION / INFO Method.
 - RFC 2833 DTMF Signal
 - 3xx moved temporary 처리 (Contact 필드에 새로운 주소가 들어감)
 - Route / Record-Route 처리 (임시로 Record-Route를 Route로 카피해서 넣음)
 - callId,from-tag,to-tag





  HISTORY
 ==============

00a,2005-10-18,hskim
 1. Sip Header 및 Stack/Ua/Dialogue/Transaction 구조체 기본 틀 완성.

00a,2005-10-19,hskim
 1. SipMessage 완성.

00a,2005-10-20,hskim
 1. SipMessageMaker.x 파일 추가.
 2. SipMessage Making을 위해 SipHeader.x 및 SipMessge.x 구조 변경.

00b,2005-10-20,hskim
 1. Request Message Make 완성.
 2. Response Message Make 진행 중.

00a,2005-10-21,hskim
 1. Response Message Make 완성.

00b,2005-10-21,hskim
 1. 객체들(Stack, Ua, Dialogue, Transaction) 상태정의.
 2. Message 관련 layer 일단락하고 makefile을 library 형태로 바꿈.
    SipUa Stack은 ./SipUa 디렉토리에서 새로 시작.

00c,2005-10-21,hskim
 1. include flow 수정.
 2. thread, Q message, include 관련 문서 작성.

00a,2005-10-22,hskim
 1. SipUa Project 생성.
 2. UaDefine.h UaTest.c SipQmessage.x TcpConnect.x WinTimer.x SipSocketSet.x 추가.

00b,2005-10-22,hskim
 1. Queue Message, Connecting, Timer, Transaction Socket Set Utility 완성.

00a,2005-10-23,hskim
 1. Call-ID, From/To Tag, BranchId 임시 make 함수 작성.

00a,2005-10-24,hskim
 1. SDP 관련 메시지 Maker 완성.
 2. SDP 처리과정 구현 중.

00a,2005-10-25,hskim
 1. SDP 처리과정 구현 완료.

00a,2005-10-26,hskim
 1. SipMessageHandler.x 추가, Message Handle 과정 구현 중.

00b,2005-10-26,hskim
 1. Message Handle 과정 구현 중.
00c,2005-10-26,hskim
 1. Message Handle 과정 구현 중.
00d,2005-10-26,hskim
 1. Message Handle 과정 구현 중.
00a,2005-10-27,hskim
 1. Message Handle 과정 구현 중.

00b,2005-10-27,hskim
 1. Request Message Handle 과정 구현 완료.
 2. Response Message Handle 과정 구현 중.

00a,2005-10-28,hskim
 1. Response Message Handle 과정 구현 완료.

00a,2005-10-29,hskim
 1. 401,407 처리 과정 구현 중.
 2. MD5 hash 과정 구현 완료. (SipAuth Directory 추가)
 3. WWW/Proxy Authorization 과정 구현 완료.

00a,2005-10-31,hskim
 1. SIP Timer 처리 완료.
 2. SipEnetDemonHandler 구현 완료.
 3. SipDemonHandler 구현 중.

00a,2005-11-01,hskim
 1. SipDemonHandler 구현 완료.
 2. SipDemon 구현 완료.
 3. SipEnetDemon 구현 완료.

00a,2005-11-02,hskim
 1. SipUI.x 구현 완료.
 2. 스택 구현 완료.
 3. 테스트 프로그램 작성 중.

00b,2005-11-02,hskim
 1. 등록 Test OK.
 2. Call Test 404 Not Found 까지 완료.

00a,2005-11-03,hskim
 1. 테스트 프로그램 완성.
 2. Debuging 중.

00a,2005-11-05,hskim
 1. MiniXPhone 완성.
 2. Debuging 중.

00a,2005-11-06,hskim
 1. RTP (711u,711a) 추가 (음성통화 가능)

00a,2005-11-07,hskim
 1. RTP 내부 프로그램으로 추가.
 2. recvfrom으로 RTP data 들어오는 것 맞춰줌.

00a,2005-11-08,hskim
 1. CANCEL message debuging.
    ( CANCEL의 Branch Id와 CSeq Number는 INVITE transaction과 같아야 한다. )

00a,2005-11-09,hskim
 1. Called case debuging.

00a,2005-11-11,hskim
 1. 로그를 네트워크로 쏘도록 변경 (xLog 추가.)

00a,2005-11-13,hskim
 1. SapiCommandRemoveCall 함수에 SipResponse 파라미터 추가.
 2. CallbackCallEnded 콜백함수 추가
   (INVITE 전송시 300 이상의 Response를 받았을 경우만 뜨는 Callback,
    권고안과 별개로 Application에서 즉시 호 정보를 없앨 수 있도록 하기 위해 따로 만듦.)
 3. MFC 기반 QPhone 베타버전 완성.

00a,2005-11-16,hskim
 1. Windows용 UA 완성.
 2. CallbackCallIncoming 에 HS_STACK_HANDLE parameter 추가.

00a,2005-11-19,hskim
 1. 단대단 호 송수신 처리 완료.

00a,2005-11-23,hskim
 1. SDP와 실제 소켓의 TSAP Port 값 mis-match 나던 것 수정.

00a,2006-03-29,hskim
 1. INVITE에 대한 407 수신 후 새로운 INVITE를 보낼 때, 기존 트랜젝션의 'To' Tag가 붙어
    나가는 버그 수정.  (새로운 Call 이므로 비어 있어야 한다.)
 2. 'atoi' 함수의 파라미터가 NULL이 들어가지 않도록 예외 처리함.

00a,2006-03-31,hskim
 1. Cryptack/base (HSBase) 라이블러리 따로 만듦.
 2. HSBase를 따로 만들면서 아래 파일들을 workspace에서 제거.
    SipCoder/ NoLockList.h, NoLockList.c, UaDefine.c
    SipUa/ WinTimer.h, WinTimer.c, TcpConnect.h TcpConnect.c

00a,2006-05-29,hskim
 1. SDP에 코덱 리스트가 비워온 메시지 수신시 죽는 문제 해결
    ( cryptack/sip/sipua/sipMessageHandler.c의 CheckReceivedSdp 함수 중.
      "check which sdp or not" 부분의 비교문을 &&가 아니라 ||으로 변경.  )

00b,2006-05-29,hskim
 1. random 값이 같아 발생하던 버그 수정.
    ( srand(time(0))를 매번 할 경우 같은 초 안에는 같은 랜덤 값 발생하는
      문제가 있기 때문에 LoadHSResource 함수에서만 srand 해주도록 변경 )

00c,2006-05-29,hskim
 1. [RFC-3261 8.1.1.7] magic cookie = "z9hG4bK" 적용.

00a,2006-05-30,hskim
 1. Cryptack/sip/sipCoder/SipMessage.c 의 delete_SipMessage 상에 if 문
    이상한 것 수정.

00b,2006-05-30,hskim
 1. 423: IntervalTooBreif 응답 수신시 Expires 값을 MinExpires에 5를 더한
    값으로 변경해서 다시 등록 시도 하도록 수정.

00c,2006-05-30,hskim
 1. ABNF 룰 중
    " 'qop'는 request 시에는 quotation mark를 하면 안되며,
              response 시에는 quotation mark를 해야 한다." 와
    " 'nc'는 반드시 quotation mark를 하지 말아야 한다" 는 룰 적용.

00a,2006-05-31,hskim
 1. IStack, IUa, IDialogue, ITransaction, SipMessageMaker, SipUtility 를
    SipUa 프로젝트로 옮기고 SipCoder에는 순수하게 ABNF en/decoding 관련 파일만 둠.

00b,2006-05-31,hskim
 1. WinCE 버전 workspace 정리.

00a,2006-08-14,hskim
 1. srand 정리.